errol是一个依赖inotify的文件发送者。它可以用来观看一个目录,并自动传输新文件(或修改的文件)与XMPP。

errol的Python项目详细描述


误差

errol是一个依赖于 inotify。它可以用来 监视目录并自动传输新文件(或修改的 一个)与XMPP

先决条件

埃罗尔需要以下要求:

  • 系统支持 inotify(Linux)。
  • 支持以下XEPs的XMPP(jabber)帐户:Stream ManagementPublish-SubscribeMulti-User Chat
  • 可以将节点设置为打开的pubsub服务。节点名为 在配置文件中定义。我个人使用 sat_pubsub。酒馆 为项目Salut à Toi开发的组件。
  • 多用户聊天,因为并非所有xmpp帐户都支持pubsub。为了 现在,一些信息仍然通过muc消息共享。这个 未来的行为可能会改变。
您可以使用自己的xmpp服务器,或者在 以下列表。

创建pubsub节点

如果您已经在pubsub上拥有写访问权限,则此步骤是可选的 节点下面的示例使用 jp敬礼 命令行界面,但是 slixmppsleekxmpp可以使用。

$ jp pubsub node create -f publish_model open be.agayon.errol:0 -s pubsub.agayon.be -c

建议使用节点名be.agayon.errol:0来标识 功能性

例如,服务上有节点选项 阿加扬出版社:

$ jp pubsub node info be.agayon.errol:0 -s pubsub.agayon.be
persist_items: True
deliver_payloads: True
serial_ids: False
publish_model: open
access_model: open
send_last_published_item: on_sub
测试

您可以使用 slixmpp

示例:

./s5b_file_sender.py -j jid@example.org -p pass -r john@example.org -f /path/to/file.txt

有关详细信息,请参见脚本。

开始使用errol

首先需要克隆存储库埃罗尔需要 依赖关系:

安装

您可以使用pip轻松安装errol:

$ pip install errol

git

$ python3 setup.py install

Errol可以很容易地安装在 virtualenv

archlinux

A PKGBUILD will be available soon.

配置

您需要提供有关xmpp帐户的信息。

$ cat config.example.ini

[XMPP]
pubsub=pubsub.example.org
node=be.agayon.errol:0
room=chat@chat.example.org
jid=jid@example.org/errol
password=pass
ressource_receiver=-receiver
ressource_sender=-
nick_sender=example_sender
nick_receiver=example_receiver
receiver=jid@example.org/errol-receiver
presence_file=/tmp/errol_presence.txt
  • jid:jabber帐户
  • 密码:xmpp密码
  • pubsub:pubsub服务器(发布活动)
  • 房间:在聊天室,埃罗尔显示信息。
  • 显示文件:用于跟踪显示的可写文件。什么时候? 接收器联机,否则文件包含“1”和“0”。

文件将由jid@example.org/errol-0发送,并由 jid@example.org/errol-receivernicks是 穆克。

运行

安装后,可以在终端启动errol。

$ errol --help
usage: errol [-h] [-e EVENTS] [-f FILE] [-d] -p PATH -c COMMAND

Automatic XMPP file sender and directory watcher

optional arguments:
  -h, --help            show this help message and exit
  -e EVENTS, --events EVENTS
                        Number of events to watch (delete, create modify) in
                        the directory. Once reached, the program stops.
  -f FILE, --file FILE  Config file containing XMPP parameters
  -d, --debug           set logging to DEBUG
  -p PATH, --path PATH  The path watched.
  -c COMMAND, --command COMMAND
                        The executed command: xmpp or watcher

在设备A上

如果要监视目录/tmp/sender,请执行以下命令 可以使用:

$ errol -f config.example.ini -p /tmp/sender -c watcher

将发送在监视位置创建的所有修改或新文件 由xmpp提供。

在设备B上

如果要接收文件,必须使用 遵循命令行。

$ errol -f config.example.ini -p /tmp/receiver -c xmpp

所有接收到的文件都将存储在 选项'-p'。

使用systemd启动

可以用systemd启动errol。提供两个单元文件以帮助 您:

  • 错误发送者服务
  • errol_watcher.service

首先,需要创建配置目录并复制单元文件。

$ mkdir -p ~/.config/errol/
$ mkdir -p ~/.config/systemd/user/
$ cp systemd/environment.sh ~/.config/errol/
$ cp systemd/errol_watcher.service ~/.config/systemd/user/
$ cp systemd/errol_sender.service ~/.config/systemd/user/

然后,您可以编辑环境和单元文件以匹配 首选项和重新加载单位。

$ systemctl --user daemon-reload

然后可以在启动时启动和激活这些单元:

$  systemctl --user start errol_sender
$  systemctl --user start errol_watcher
$  systemctl --user enable errol_sender
$  systemctl --user enable errol_watcher

如果遇到一些问题,可以使用以下命令读取日志 命令:

$ journalctl --user -xe
$ systemctl --user status errol_watcher.service
$ systemctl --user status errol_sender.service

许可证

此项目是根据GPLv3授权的-请参见 LICENSE.txt 有关详细信息,请存档

致谢ments

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

推荐PyPI第三方库


热门话题
如何将java ArrayList对象转换为实际值   web服务如何在JAVA类uisng JAXBElement中解组SOAP UI值   包含无值参数的java HttpClient表单URL   运行简单Camel Restlet演示项目的java问题?   带有自定义图标的java简单SWT警报消息?   java Netbeans 6.8:LibImport可以工作,但编译时“包不存在”   java如何获得绘画完成的通知?   java Hazelcast客户端模式群集故障后如何恢复?   Neo4J中Shapefile的java批插入   为什么ThreadPoolExecutor在Eclipse和从命令行运行Java程序时表现不同?   java在Android中计算两个坐标之间的距离时得到了荒谬的值   java在CardLayout中显示卡本身的下一张卡