logging.basicConfig(filename='/tmp/watchdog.log', 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()