本文整理汇总了Python中pyinotify.IN_CREATE属性的典型用法代码示例。如果您正苦于以下问题:Python pyinotify.IN_CREATE属性的具体用法?Python pyinotify.IN_CREATE怎么用?Python pyinotify.IN_CREATE使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类pyinotify
的用法示例。
在下文中一共展示了pyinotify.IN_CREATE属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: file_monitor
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [as 别名]
def file_monitor(path='.', client=None):
wm = WatchManager()
mask = IN_DELETE | IN_CREATE | IN_MODIFY
notifier = AsyncNotifier(wm, EventHandler(client))
wm.add_watch(path, mask, auto_add=True, rec=True)
if not os.path.isfile(path):
logger.debug("File %s does not exist." % path)
sys.exit(3)
else:
logger.debug("Now starting monitor file %s." % path)
global f
f = open(path, 'r')
st_size = os.stat(path)[6]
f.seek(st_size)
while True:
try:
notifier.process_events()
if notifier.check_events():
notifier.read_events()
except KeyboardInterrupt:
print "keyboard Interrupt."
notifier.stop()
break
示例2: __init__
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [as 别名]
def __init__(self, config, corpusManager):
self.wm = pyinotify.WatchManager()
self.mask = pyinotify.IN_CREATE
self.handler = FileWatcherEventHandler(corpusManager)
self.wdd = None
self.config = config
示例3: linux_event_handler
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [as 别名]
def linux_event_handler(logger, dir_watch_data, cond, tasks):
watch_manager = pyinotify.WatchManager()
mask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_MOVED_TO | pyinotify.IN_MODIFY | pyinotify.IN_CREATE
for dir_watch in dir_watch_data:
logger.info(_(u'Watching directory %s' % dir_watch['path']))
watch_manager.add_watch(path=dir_watch['path'], mask=mask, rec=False, auto_add=True, do_glob=True)
handler = LinuxEventHandler(logger=logger, dir_watch_data=dir_watch_data, cond=cond, tasks=tasks)
notifier = pyinotify.Notifier(watch_manager, handler)
notifier.loop()
# end of linux-specific ##################################################################################
示例4: __init__
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [as 别名]
def __init__(self, file_created_captured, file_modified_captured):
self.WATCHDIR = u'/tmp'
self.file_created_captured = file_created_captured
self.file_modified_captured = file_modified_captured
self.wm = pyinotify.WatchManager() # Watch Manager
self.mask = pyinotify.IN_DELETE | pyinotify.IN_CREATE | pyinotify.IN_MODIFY # watched events
self.notifier = pyinotify.Notifier(self.wm, self)
self.wdd = self.wm.add_watch(self.WATCHDIR, self.mask, rec = True)
示例5: watch
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [as 别名]
def watch(self, path, func=None, delay=None, ignore=None):
flag = pyinotify.IN_CREATE | pyinotify.IN_DELETE | pyinotify.IN_MODIFY
self.wm.add_watch(path, flag, rec=True, do_glob=True, auto_add=True)
Watcher.watch(self, path, func, delay, ignore)
示例6: main
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [as 别名]
def main():
parser_description = "Cryptopuck: Encrypt your drives on the fly"
parser = argparse.ArgumentParser(description=parser_description)
parser.add_argument("--mountpoint",
help="Path to where new volumes are mounted",
required=True)
parser.add_argument("--public-key",
help="Path to the public key", required=True)
args = parser.parse_args()
if not os.path.isdir(args.mountpoint):
print("Mountpoint does not exist or not a directory:", args.mountpoint)
sys.exit(1)
# Setup the Led Manager
main_thread = threading.current_thread()
led_manager = LedManager(main_thread)
led_thread = threading.Thread(target=led_manager.run)
led_thread.start()
# Setup pyInotify
wm = pyinotify.WatchManager() # Watch Manager
mask = pyinotify.IN_CREATE # watched events
notifier = pyinotify.Notifier(wm, EventHandler(args.public_key,
led_manager))
wdd = wm.add_watch(args.mountpoint, mask)
notifier.loop() # Blocking loop
led_thread.join()
示例7: code_changed
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [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
示例8: inotify_code_changed
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [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
示例9: inotify_code_changed
# 需要导入模块: import pyinotify [as 别名]
# 或者: from pyinotify import IN_CREATE [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