对象服务器

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第三方库


热门话题
junit有没有办法在Java中重新初始化静态类?   在浏览器中点击应用程序时java Play框架挂起   文件Java错误中的NullPointerException   使用Java中的SNMP查找网络中计算机的登录名   java包装服务器引导程序已弃用,有什么替代方案?   当客户在等待理发时,java信号量值是否存在问题?   java如何使用JavaMail仅下载特定类型的附件   如何在java中将十进制转换为十六进制   java Slick2D粒子系统不会生成粒子   java检测更改事件来自何处   将Java集合类型参数类设置为数组   java如何从eclipse导出为可运行JAR文件?   java EntityManager对象未注入Glassfish和Spring   swing从actionPerformed和actionListener Java返回字符串   java在给定另一个等价键对象的情况下获取映射项的当前键   无论输入如何,java网络都会产生相同的输出