nuql的基本网络守护程序库

nuqql-based的Python项目详细描述


基于nuqql

基于nuql的是一个实现nuql的基本网络守护程序库 接口。它可以用作 nuqql,例如,用于测试或作为 其他nuql后端的实现。在

使用基于numql的其他后端:

依赖项:

  • daemon(可选):用于daemonize 支持

设置

例如,您可以为您的用户安装基于nuql的pip 以下命令:

$ pip install --user nuqql-based

如果您喜欢使用git签出这个存储库并使用 基于用户的nuql存储库,您可以在可编辑模式下直接安装 使用以下命令:

^{pr2}$

使用

使用基于numql的库创建nuql后端包括中的步骤 以下样板代码:

fromnuqql_based.basedimportBasedfromnuqql_based.callbackimportCallback# create a new backendBACKEND_NAME="myBackend"BACKEND_VERSION="0.1"based=Based(BACKEND_NAME,BACKEND_VERSION)# set callbackscallbacks=[# based events(Callback.BASED_CONFIG,based_config),(Callback.BASED_INTERRUPT,based_interrupt),(Callback.BASED_QUIT,based_quit),# nuqql messages(Callback.QUIT,stop),(Callback.ADD_ACCOUNT,add_account),(Callback.DEL_ACCOUNT,del_account),(Callback.SEND_MESSAGE,send_message),(Callback.SET_STATUS,set_status),(Callback.GET_STATUS,get_status),(Callback.CHAT_LIST,chat_list),(Callback.CHAT_JOIN,chat_join),(Callback.CHAT_PART,chat_part),(Callback.CHAT_SEND,chat_send),(Callback.CHAT_USERS,chat_users),(Callback.CHAT_INVITE,chat_invite),]based.set_callbacks(callbacks)based.start()

您可以省略callbacks列表中不需要的回调。此外 对于上面的代码,您需要实现在 callbacks列表。在

传递给所有回调的参数是:帐户、回调和 回调特定的参数元组。以下示例显示 send_message回调:

defsend_message(account,callback,params):"""    Send a message to another user.    """dest,msg=params# do something with the message...return""

回调仅用于来自nuql的命令。你必须处理好 后端特定的事件,例如从您的 后端代码,并有选择地将它们传递给基于nuql的。下面的例子 显示如何将来自其他用户的传入消息传递到基于 Message.message()和{}:

fromnuqql_based.messageimportMessagedefreceive(account,timestamp,sender,destination,text):"""    Receive message from other user.    """msg=Message.message(account,timestamp,sender,destination,text)account.receive_msg(msg)

变更

  • 0.2.0版:
    • 只使用一个日志文件
    • 将“推送帐户”添加到配置/命令行参数
    • 添加更多信息消息并扩展“help”命令的输出
    • 将回调参数从account id更改为account
    • 添加测试
    • 清理和修复
  • 0.1版:
    • 第一次发布。在

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

推荐PyPI第三方库


热门话题
java DB2查看最近执行的命令   java正则表达式如何只匹配数字后的字符,而不在匹配模式中包含数字   java是否可以使用Jmh运行基于时间的预热阶段?   java必须输入两次输入,扫描仪才能读取   java如何使用一个或多个类方法设置多个类字段,而这些类方法并不专门引用任何字段?   java Quartz的CronTrigger每24小时一次,如午夜   java字符串索引超出边界异常?   java FXMLLoader找不到fxml文件Maven项目   java Eclipse Indigo在安装m2ewtp插件时遇到问题   java如何为连接池配置Hibernate、Spring和ApacheDBCP?   java netbeans:类中的类路径。福奈姆   javajmx及其在Tomcat内部Docker上的调试   java HTTP状态404 tomcat 7   Java:String split():我希望它在末尾包含空字符串   java我应该使用枚举集吗?   Java StringTokenizer如何查找段落结尾?