CC-1799 : Live Studio Playout from media library (pytagsfs)

This commit is contained in:
Naomi 2011-04-26 11:32:40 -04:00 committed by naomiaro
parent a2b44689b4
commit a3e0ab5a8e
1 changed files with 10 additions and 14 deletions

View File

@ -31,12 +31,6 @@ except Exception, e:
print 'Error loading config file: ', e print 'Error loading config file: ', e
sys.exit() sys.exit()
# watched events
mask = pyinotify.ALL_EVENTS
wm = WatchManager()
wdd = wm.add_watch('/srv/airtime/stor', mask, rec=True)
class MediaMonitor(ProcessEvent): class MediaMonitor(ProcessEvent):
def my_init(self): def my_init(self):
@ -48,18 +42,14 @@ class MediaMonitor(ProcessEvent):
self.api_client = api_client.api_client_factory(config) self.api_client = api_client.api_client_factory(config)
def process_IN_CREATE(self, event): def process_IN_CREATE(self, event):
if event.dir : if not event.dir :
global wm #This is a newly imported file.
wdd = wm.add_watch(event.pathname, mask, rec=True) print "%s: %s" % (event.maskname, os.path.join(event.path, event.name))
#print wdd.keys()
print "%s: %s" % (event.maskname, os.path.join(event.path, event.name))
def process_IN_MODIFY(self, event): def process_IN_MODIFY(self, event):
if not event.dir : if not event.dir :
p = Popen(["pytags", event.pathname], stdout=PIPE, stderr=STDOUT) p = Popen(["pytags", event.pathname], stdout=PIPE, stderr=STDOUT)
output = p.stdout.read().decode("utf-8").strip() output = p.stdout.read().decode("utf-8").strip()
print output.split("\n")
md = {'filepath':event.pathname} md = {'filepath':event.pathname}
@ -81,7 +71,13 @@ if __name__ == '__main__':
print 'Media Monitor' print 'Media Monitor'
try: try:
notifier = Notifier(wm, MediaMonitor(), read_freq=2, timeout=1) # watched events
mask = pyinotify.IN_CREATE | pyinotify.IN_MODIFY
wm = WatchManager()
wdd = wm.add_watch('/srv/airtime/stor', mask, rec=True, auto_add=True)
notifier = Notifier(wm, MediaMonitor(), read_freq=10, timeout=1)
notifier.coalesce_events() notifier.coalesce_events()
notifier.loop() notifier.loop()
except KeyboardInterrupt: except KeyboardInterrupt: