本文整理汇总了Python中pyinotify.ProcessEvent方法的典型用法代码示例。如果您正苦于以下问题:Python pyinotify.ProcessEvent方法的具体用法?Python pyinotify.ProcessEvent怎么用?Python pyinotify.ProcessEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块pyinotify的用法示例。
在下文中一共展示了pyinotify.ProcessEvent方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: _loop_linux
点赞 6
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import ProcessEvent [as 别名]
def _loop_linux(self, loop_callback):
"""loop implementation for linux platform"""
import pyinotify
handler = self._handle
class EventHandler(pyinotify.ProcessEvent):
def process_default(self, event):
handler(event)
watch_manager = pyinotify.WatchManager()
event_handler = EventHandler()
notifier = pyinotify.Notifier(watch_manager, event_handler)
mask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_MOVED_TO
for watch_this in self.watch_dirs:
watch_manager.add_watch(watch_this, mask)
notifier.loop(loop_callback)
开发者ID:pydoit,项目名称:doit,代码行数:19,
示例2: watch
点赞 5
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import ProcessEvent [as 别名]
def watch(parent_id=None, mount=False):
"Watch a folder for new torrents to add"
if parent_id == None:
parent_id = app.config.get('PUTIO_ROOT', 0)
if mount and not os.path.exists(app.config['TORRENTS']):
subprocess.call([
'mount',
'-a'
])
add()
class EventHandler(pyinotify.ProcessEvent):
"Event handler for responding to a new or updated torrent file"
def process_IN_CLOSE_WRITE(self, event):
"Do the above"
app.logger.debug('adding torrent, received event: %s' % event)
transfer = app.client.Transfer.add_torrent(event.pathname, parent_id=parent_id)
os.unlink(event.pathname)
app.logger.info('added transfer: %s' % transfer)
watch_manager = pyinotify.WatchManager()
mask = pyinotify.IN_CLOSE_WRITE
handler = EventHandler()
notifier = pyinotify.Notifier(watch_manager, handler)
wdd = watch_manager.add_watch(app.config['TORRENTS'], mask, rec=True)
app.logger.debug('added watch: %s' % wdd)
notifier.loop()
开发者ID:datashaman,项目名称:putio-automator,代码行数:34,
示例3: code_changed
点赞 5
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import ProcessEvent [as 别名]
def code_changed(self):
notify_mask = (
pyinotify.IN_MODIFY |
pyinotify.IN_DELETE |
pyinotify.IN_ATTRIB |
pyinotify.IN_MOVED_FROM |
pyinotify.IN_MOVED_TO |
pyinotify.IN_CREATE |
pyinotify.IN_DELETE_SELF |
pyinotify.IN_MOVE_SELF
)
class EventHandler(pyinotify.ProcessEvent):
def process_default(self, event):
pass
watch_manager = pyinotify.WatchManager()
self.notifier = pyinotify.Notifier(watch_manager, EventHandler())
file_names = self.get_watch_file_names(only_new=True)
for file_name in file_names:
watch_manager.add_watch(file_name, notify_mask)
self.notifier.check_events(timeout=None)
if self.watching:
self.notifier.read_events()
self.notifier.process_events()
self.notifier.stop()
self.notifier = None
# If we are here, then one or more files must have changed
return True
return False
开发者ID:eventbrite,项目名称:pysoa,代码行数:37,
示例4: inotify_code_changed
点赞 4
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import ProcessEvent [as 别名]
def inotify_code_changed():
"""
Checks for changed code using inotify. After being called
it blocks until a change event has been fired.
"""
class EventHandler(pyinotify.ProcessEvent):
modified_code = None
def process_default(self, event):
if event.path.endswith('.mo'):
EventHandler.modified_code = I18N_MODIFIED
else:
EventHandler.modified_code = FILE_MODIFIED
wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm, EventHandler())
def update_watch(sender=None, **kwargs):
if sender and getattr(sender, 'handles_files', False):
# No need to update watches when request serves files.
# (sender is supposed to be a django.core.handlers.BaseHandler subclass)
return
mask = (
pyinotify.IN_MODIFY |
pyinotify.IN_DELETE |
pyinotify.IN_ATTRIB |
pyinotify.IN_MOVED_FROM |
pyinotify.IN_MOVED_TO |
pyinotify.IN_CREATE |
pyinotify.IN_DELETE_SELF |
pyinotify.IN_MOVE_SELF
)
for path in gen_filenames(only_new=True):
wm.add_watch(path, mask)
# New modules may get imported when a request is processed.
request_finished.connect(update_watch)
# Block until an event happens.
update_watch()
notifier.check_events(timeout=None)
notifier.read_events()
notifier.process_events()
notifier.stop()
# If we are here the code must have changed.
return EventHandler.modified_code
开发者ID:lanbing510,项目名称:GTDWeb,代码行数:49,
示例5: inotify_code_changed
点赞 4
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import ProcessEvent [as 别名]
def inotify_code_changed():
"""
Check for changed code using inotify. After being called
it blocks until a change event has been fired.
"""
class EventHandler(pyinotify.ProcessEvent):
modified_code = None
def process_default(self, event):
if event.path.endswith('.mo'):
EventHandler.modified_code = I18N_MODIFIED
else:
EventHandler.modified_code = FILE_MODIFIED
wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm, EventHandler())
def update_watch(sender=None, **kwargs):
if sender and getattr(sender, 'handles_files', False):
# No need to update watches when request serves files.
# (sender is supposed to be a django.core.handlers.BaseHandler subclass)
return
mask = (
pyinotify.IN_MODIFY |
pyinotify.IN_DELETE |
pyinotify.IN_ATTRIB |
pyinotify.IN_MOVED_FROM |
pyinotify.IN_MOVED_TO |
pyinotify.IN_CREATE |
pyinotify.IN_DELETE_SELF |
pyinotify.IN_MOVE_SELF
)
for path in gen_filenames(only_new=True):
wm.add_watch(path, mask)
# New modules may get imported when a request is processed.
request_finished.connect(update_watch)
# Block until an event happens.
update_watch()
notifier.check_events(timeout=None)
notifier.read_events()
notifier.process_events()
notifier.stop()
# If we are here the code must have changed.
return EventHandler.modified_code
开发者ID:reBiocoder,项目名称:bioforum,代码行数:49,
注:本文中的pyinotify.ProcessEvent方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。