def go_watch(): try: print 'Start watching %s' % PATH_TO_WATCH logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S') event_handler = LoggingEventHandler() observer = Observer() observer.schedule(event_handler, PATH_TO_WATCH, recursive=True) observer.start() event_handler.on_modified = sync_upload event_handler.on_deleted = sync_upload_delete event_handler.on_created = sync_upload_create event_handler.on_moved = sync_upload_move time_loop = 1 try: while True: time.sleep(1) time_loop += 1 if not time_loop % AUTO_SYNC_TIME: print 'Auto sync every %s second' % AUTO_SYNC_TIME if not observer.event_queue.unfinished_tasks: sync_download() check_dir_deleted() print 'Auto check downloaded file or folder' check_dir_deleted() except KeyboardInterrupt: print 'End watching.' observer.stop() observer.join() except Exception, e: print '*' * 10 print e print '*' * 10 return
if __name__ == '__main__': print '******************************************' print ' THANKS FOR USING DROP2PI' print ' GUOJING soundbbg@gmail' print ' thanks to bettylwx' print '******************************************' print 'Starting...' init() args = sys.argv args = args[1:] watch = True download = True if args: if '-c' == args[0]: clean() if '-e' == args[0]: watch = False if '-r' == args[0]: download = False if download: print 'Start download files...' sync_download() check_dir_deleted() print 'Sync server end.' print 'Start end.' if watch: while True: go_watch()