Advertisement
Guest User

Untitled

a guest
May 22nd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. import time
  2. import threading
  3. import subprocess
  4. from settings import settings
  5. import logging
  6. import collections
  7. import util
  8. from state import State
  9.  
  10. # Watchdog lib: https://github.com/gorakhargosh/watchdog
  11. from watchdog.observers import Observer
  12. from watchdog.events import FileSystemEventHandler
  13.  
  14. WATCHED = {}
  15. LOG = logging.getLogger("backend")
  16.  
  17. class Sync:
  18.     def __init__(self, directory, targets, ripe_age, active_wait):
  19.         self.backend_log = logging.getLogger("backend")
  20.         self.backend_log.info("Creating Sync")
  21.         self.directory = directory
  22.         self.backend_log.info("Creating Sync - done")
  23.  
  24.     def start(self):
  25.         self.backend_log.info("Starting Sync")
  26.         self.should_stop = False
  27.         self.stopped = False
  28.  
  29.         LOG.info("Started sync for {}".format(self.directory))
  30.  
  31.         event_handler = Handler()
  32.         self.observer = Observer()
  33.         self.observer.schedule(event_handler, self.directory, recursive=False)
  34.         self.observer.start()
  35.         self.backend_log.info("Starting Sync - done")
  36.  
  37. class Handler(FileSystemEventHandler):
  38.  
  39.     @staticmethod
  40.     def on_any_event(event):
  41.         print event
  42.         print event.is_directory
  43.  
  44.         if event.is_directory:
  45.             return None
  46.  
  47.         print event.event_type
  48.         print event.event_type == 'created'
  49.         print event.event_type == 'modified'
  50.         print event.src_path not in WATCHED
  51.  
  52.         if event.event_type == 'created' or event.event_type == 'modified':
  53.             if not event.src_path in WATCHED:
  54.                 print "Sync watching {}".format(event.src_path)
  55.  
  56.  
  57.  
  58.  
  59. sync = Sync('/home/isb/runs/', [], 0, 0)
  60. sync.start()
  61.  
  62. while True:
  63.     time.sleep(1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement