25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
from mediaconfig import AirtimeMediaConfig
|
|
import mediamonitorcommon
|
|
import traceback
|
|
|
|
class MediaMonitorWorkerProcess:
|
|
|
|
#this function is run in its own process, and continuously
|
|
#checks the queue for any new file events.
|
|
def process_file_events(self, queue, notifier):
|
|
while True:
|
|
try:
|
|
event = queue.get()
|
|
notifier.logger.info("received event %s", event)
|
|
if event['mode'] == AirtimeMediaConfig.MODE_CREATE:
|
|
filepath = event['filepath']
|
|
if mediamonitorcommon.test_file_playability(filepath):
|
|
notifier.update_airtime(event)
|
|
else:
|
|
notifier.logger.warn("Liquidsoap integrity check for file at %s failed. Not adding to media library.", filepath)
|
|
else:
|
|
notifier.update_airtime(event)
|
|
except Exception, e:
|
|
notifier.logger.error(e)
|
|
notifier.logger.error("traceback: %s", traceback.format_exc())
|