当前位置: 首页 > 工具软件 > Pyinotify > 使用案例 >

python中event的用法_Python pyinotify.ProcessEvent方法代码示例

黎玺
2023-12-01

本文整理汇总了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;未经允许,请勿转载。

 类似资料: