Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

A File Monitor

Project description

#FileMonitor
![py3][py3] [English Version][english_version]

FileMonitor是一个开放的文件监控接口,目的是让开发者提高开发效率。
提供方便的接口来对发送的文件变动进行处理


## Simple uses

通过如下代码,可以初步通过Python创建对应的引擎,注册函数和注册监控路径
main.py
```python
from FileMonitor import start_watch, create_engine, add_routers
import os
app = create_engine()
add_routers(app, "handler")
watch_path = os.path.join(os.path.abspath('.'), 'monitor')
start_watch(app, watch_path)
```
handler.py
```python
import subprocess
import sys

from FileMonitor import created, start, deleted


@created(r'py', once=True)
def pys(src_path):
pass
# print(pys.__re_path__)
print(pys.__method__)
# print("test:", src_path)


@start(r'.*py', once=True, )
def sl(src_path):
print("sl:", src_path)
command = ['python3', src_path]
print('Start process %s...' % ' '.join(command))
process = subprocess.Popen(command, stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr)

@deleted(src_path, once=True, escape=True, process=process)
def fk(src_path):
print('Kill process [%s]...' % fk.__data__['process'].pid)
fk.__data__['process'].kill()
fk.__data__['process'].wait()
print('Process ended with code %s.' % fk.__data__['process'].returncode)
process = None
print("fk:", src_path)

sl.__app__.register_callback(fk)
```


## Comments

如果有什么问题或者建议都可以在这个[Issue][issue#1]和我讨论

[py2]: https://img.shields.io/badge/python-2.7-ff69b4.svg "python2"
[py3]: https://img.shields.io/badge/python-3.5-red.svg "python3"
[issue#1]: https://github.com/Ldream/FileMonitor/issues/1

Project details


Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page