def reload(file, logger): path = os.path.dirname(os.path.abspath(file)) handler = RegexMatchingEventHandler([r".*"], [], False, True) handler.on_modified = on_modified(logger) my_observer = Observer() my_observer.schedule(handler, path, recursive=True) my_observer.start()
def main(): # load config and values loadConfig() # clean up any unix accoutn that was not removed cleanupZombieUsers() # Start the file watch service fileEventHandler = RegexMatchingEventHandler(regexMatch, ignore_patterns, ignoreDirectories, caseSensitive) fileEventHandler.on_modified = watchFile.on_modified my_observer = Observer() my_observer.schedule(fileEventHandler, path, recursive=goRecursively) my_observer.start() """Start the bot.""" # Create the Updater and pass it your bot's token. # Make sure to set use_context=True to use the new context based callbacks # Post version 12 this will no longer be necessary updater = Updater(TOKEN, use_context=True) # Get the dispatcher to register handlers dispatcher = updater.dispatcher # on different commands - answer in Telegram dispatcher.add_handler(CommandHandler("start", start)) dispatcher.add_handler(CommandHandler("help", help_command)) dispatcher.add_handler(CommandHandler("restart", restart_command)) dispatcher.add_handler(CommandHandler("backup", backup_command)) dispatcher.add_handler(CommandHandler("perm", perm_command)) dispatcher.add_handler(CommandHandler("genssh", genSSH_command)) dispatcher.add_handler(CommandHandler("list", list_command)) dispatcher.add_handler(CommandHandler("clone", clone_command)) dispatcher.add_handler(CommandHandler("op", op_command)) dispatcher.add_handler(CommandHandler("deop", deop_command)) dispatcher.add_handler(CommandHandler("hwinfo", hwinfo_command)) dispatcher.add_handler(CommandHandler("broadcast", broadcast_command)) dispatcher.add_handler(CommandHandler("test", test_command)) dispatcher.add_handler(CommandHandler("players", players_command)) dispatcher.add_handler(CommandHandler("status", status_command)) dispatcher.add_handler(CommandHandler("propGet", propGet_command)) dispatcher.add_handler(CommandHandler("cmd", anyCommand_command)) dispatcher.add_handler(CommandHandler("mapreg", mapReg_command)) # dispatcher.add_handler(CommandHandler("kb", kb)) updater.dispatcher.add_handler(CallbackQueryHandler(button)) # on noncommand i.e message - echo the message on Telegram dispatcher.add_handler( MessageHandler(Filters.text & ~Filters.command, badCMD)) # Start the Bot updater.start_polling() # Run the bot until you press Ctrl-C or the process receives SIGINT, # SIGTERM or SIGABRT. This should be used most of the time, since # start_polling() is non-blocking and will stop the bot gracefully. updater.idle()
def _watch_reducers(self): event_handler = RegexMatchingEventHandler(['.*']) event_handler.on_modified = self._on_reducer_modifed observer = Observer() observer.schedule(event_handler, os.path.join(ROOT_DIR, 'reducers'), recursive=False) observer.start()
def get_event_handler(converter): def on_created(event): converter(event.src_path) def on_modified(event): print(f'[MODIFIED] {event.__dict__}') handler = RegexMatchingEventHandler(regexes=[r".*[.]djvu"]) handler.on_created = on_created handler.on_modified = on_modified return handler
def _watcher(self): handler = RegexMatchingEventHandler(regexes=[self.regex], ignore_directories=True) handler.on_modified = lambda x: self.q.put(x.src_path) observer = Observer() observer.schedule(handler, self.path) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()
def start(self): """ Starts watchdog thread to monitor for incoming files. Calls the child class's `read` method when a new file appears. """ print 'FileSource start method called...', self.directory event_handler = RegexMatchingEventHandler(regexes=['.*'], ignore_regexes=[], ignore_directories=False, case_sensitive=False) event_handler.on_created = self.read # Call child's `read` method event_handler.on_modified = self.read watch_path = self.directory observer = Observer() observer.schedule(event_handler, watch_path, recursive=False) observer.start() print 'observer started.'
def main(): if len(sys.argv) < 2: print(f"Error: At least one arg is required. Usage: miro_uploader <destination_path> [monitored_path]") exit(1) destination_path = sys.argv[1] monitored_path = sys.argv[2] if len(sys.argv) > 2 else '.' def on_created(event): print(f"hey, {event.src_path} has been created!") def on_modified(event): try: print(f"hey buddy, {event.src_path} has been modified") return_path = copy2(event.src_path, destination_path) print(f"hey, that a copy path {return_path}") remove(event.src_path) except Exception: pass event_handler = RegexMatchingEventHandler(regexes=[r"^[\x00-\x7F]*jpg$"], ignore_directories=True, case_sensitive=False) event_handler.on_created = on_created event_handler.on_modified = on_modified observer = Observer() observer.schedule(event_handler, monitored_path, recursive=False) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join() finally: observer.stop() observer.join()
level=logging.INFO, format=FORMAT) logging.info('Started') path = sys.argv[1] if len(sys.argv) > 1 else '/home/norbert/Desktop' patterns = ['.+'] ignore_patterns = [f"^{path}\.+"] ignore_dirs = False case_sensitive = True my_event_handler = RegexMatchingEventHandler(patterns, ignore_patterns, ignore_dirs, case_sensitive) my_event_handler.on_created = on_created my_event_handler.on_deleted = on_delete my_event_handler.on_moved = on_moved my_event_handler.on_modified = on_modified go_recursively = True my_observer = Observer() my_observer.schedule(my_event_handler, path, recursive=go_recursively) my_observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: my_observer.stop() my_observer.join()
def main(argv): ################################################### get options global path global my_observer global stop print(str(argv)) print(len(argv)) if len(argv) ==1: print('add parameters: ') params=input().split(' ') else: params=argv[1:] try: opts, args = getopt.getopt( params ,"hp:",["help","path="]) print('try ok') except getopt.GetoptError: print('file_sync_to_gdrive_windows -p "path/to/git/project') sys.exit(2) print('opts'+str(opts)) print('args'+str(args)) if len(opts) < len(args): print('file_sync_to_gdrive_windows -p "path/to/git/project') exit() for opt, arg in opts: if opt in ('-h','--help'): print('file_sync_to_gdrive_windows -p "path/to/git/project') sys.exit() elif opt in ("-p", "--path"): path = arg print("incase of module log path:" + path + "\\auto_sync_console.log") log('path:' + path) else: print('not recognize') #patterns = ["*"] #ignore_patterns = [".*git"] ignore_directories = False case_sensitive = True #my_event_handler = PatternMatchingEventHandler(patterns, ignore_patterns, ignore_directories, case_sensitive) regexes = [".+"] #ignore = ".*c:/Users/eharvin/OneDrive - Ericsson AB/000Vince/programming/git/scripts\\\\.git.*" #c:/Users/eharvin/OneDrive - Ericsson AB/000Vince/programming/git/scripts #ignore_windows = "^" + path + "\\\\.git.*" #ignore_regexes = [".*\\\\.git$"] #ignore_regexes = ["git"] #ignore_linux = "^" + path + "/\\.git.*" #ignore_regexes = [ignore_windows, ignore_linux] #log("ignore: " + ignore_linux) if os.name == 'nt': ignore = "^" + re.escape(path) + "\\\\\\.git.*" else: ignore = "^" + path + "/\\.git.*" log("ignore: " + ignore) ignore_regexes = [ignore] my_event_handler = RegexMatchingEventHandler (regexes=regexes,ignore_regexes=ignore_regexes, ignore_directories=ignore_directories, case_sensitive=case_sensitive) my_event_handler.on_created = on_created my_event_handler.on_deleted = on_deleted my_event_handler.on_modified = on_modified my_event_handler.on_moved = on_moved go_recursively = True my_observer = Observer() my_observer.schedule(my_event_handler, path, recursive=go_recursively) my_observer.start() try: while True: time.sleep(1) if stop: break except KeyboardInterrupt: my_observer.stop() my_observer.join()