对象服务器

obj.server的Python项目详细描述


server是obj命名空间的包部分。它提供了在Linux上运行的服务器。

obj是一个纯python包,它提供了一个对象类,可以将json格式的对象保存/加载到磁盘。 文件在其文件名中用时间戳保存,因此可以以与时间相关的方式进行搜索。

obj有一个“无条款mit许可证”,这应该是你在2018年能得到的最自由的许可证。

模块

OBJ包含以下模块:

base           - the base module containing the Object class providing load/save to JSON functionality.
bots           - bots package.
bus            - send text to a list of registered handlers.
cli            - the command line interface bot giving access to the bot from the shell.
cmds           - commands subpackage containing the above listed commands.
db             - database functionality that can search through objects stored on disk.
event          - the Event class generated on bots when data is read from the socket.
handler        - the event handler of the bot.
loader         - Loader class to load modules from ob space into the program.
shell          - shell related startup, cli arguments parsing and logging.
thr            - thread module to launch, kill threads.
users          - provides user management code.

用法

基本类是从对象继承并向标准对象添加加载/保存方法的对象:

>>> from obj.base import Object
>>> o = Object()
>>> p = o.save()
>>> oo = Object()
>>> oo.load(p)
>>> o == oo
>>> True

下一个类是obj,dict与object结合提供了一个可用的“点式访问”dict:

>>> from obj.base import Obj
>>> o = Obj()
>>> o.test = "test1"
>>> p = o.save()
>>> oo = Obj()
>>> oo.load(p)
>>> oo.test == "test1"
>>> True

外壳

您可以通过运行python3-m obj.bots.shell来运行obj shell。

obj shell有以下命令:

cfg            - show config files.
cmds           - show list of commands.
deleted        - show deleted objects.
ed             - edit saved objects.
exit           - stop the CLI.
find           - find objects in the datastore.
fleet          - show list of registered handlers.
kill           - stop a thread.
last           - show last record of a object.
load           - load a module.
log            - log some text.
ls             - list subdirectories in the workdir.
meet           - add a user
perm           - change permissions of a user.
ps             - show running threads.
reboot         - reboot the CLI.
rm             - set the deleted flag on an object.
rmperm         - remove permissions.
test           - echo test response.
todo           - store a todo item.
unload         - unload a module.
uptime         - show uptime.
user           - user lookup.
version        - show OBJ version.

编程

为cli编写自己的命令很简单,您可以使用-m选项加载模块。 命令是带有一个参数的函数,在bot上生成的事件:

def mycommand(event):

    <<< your code here >>>

您可以使用event.reply()将响应发送回用户。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为引用变量指定默认值   java在2D数组中旋转innersquare   java将hashmap键值与int进行比较   java程序中的并发监视器陷入死锁   安卓 java。lang.NoClassDefFoundError:java。awt。光标   java有没有更好的方法来引用包含对象的对象?   如何在Java编程中循环代码块   java如何在Junit5中使用Serenity?   java使用ANTLR识别JavaScript文件中的全局变量声明   EJB查询对象生成的java视图SQL?   java查找股票报价的范围   java错误:(453,69)不允许使用字符串类型(在值为“”的“活动\u水平\u边距”处)   java安装的环境变量   amazon web服务在使用awssdkjava上载到S3存储桶时发生直接错误   java在Android的ArrayList中添加相等的值   尝试打开MyEclipse Enterprise Workbench时出现ide“无法创建java虚拟机”错误   java如何使用单元格指定的行和列更改jTable的单元格颜色?   java如何等待文件从系统目录复制到具有根访问权限的外部存储