def on_created(self, event): incomepath, filename = os.path.split(event.src_path) incomepath += '/' events.raiseEvent('file_added', incomepath=incomepath, filename=filename) logger.info(u"file_added: {}{}".format(incomepath, filename))
def handleIncomingData(data): timestr = "alarm{}.log".format(time.strftime("%Y%m%d-%H%M%S")) fname = "{}{}".format(current_app.config.get('PATH_DATA'), timestr) text_file = open(fname, "w") text_file.write(data) text_file.close() logger.debug('Incoming serial alarm message: {}'.format(data)) events.raiseEvent('incoming_serial_data', text=data)
def observeFolder(**kwargs): """ Observer method to observe given folder :param kwargs: """ global BEFORE, AFTER, FILES, ERROR_RAISED if OBSERVERACTIVE == 0: return if "path" in kwargs: path = kwargs["path"] else: return if not os.path.exists(path): if ERROR_RAISED == 0: ERROR_RAISED = 1 logger.error(u"observer path {} not found".format(path)) return # error delivered elif ERROR_RAISED == 1: # path found again ERROR_RAISED = 0 logger.info(u"observer path {} present again".format(path)) if ERROR_RAISED == 1: ERROR_RAISED = 0 # reset errorstate AFTER = dict([(f, None) for f in os.listdir(path)]) for a in [f for f in AFTER if f not in BEFORE and os.path.splitext(f)[-1][1:] in INPUTFORMAT]: # new files added if a not in FILES: events.raiseEvent("file_added", incomepath=path, filename=a) logger.info(u"file_added: {}{}".format(path, a)) FILES.append(a) for r in [f for f in BEFORE if f not in AFTER and os.path.splitext(f)[-1][1:] in INPUTFORMAT]: if r in FILES: events.raiseEvent("file_removed", incomepath=path, filename=r) logger.info(u"file_removed: {}{}".format(path, r)) FILES.remove(r) BEFORE = AFTER return
def observeFolder(**kwargs): """ Observer method to observe given folder :param kwargs: """ global BEFORE, AFTER, FILES, ERROR_RAISED if OBSERVERACTIVE == 0: return if 'path' in kwargs: path = kwargs['path'] else: return if 'seconds' in kwargs: seconds = kwargs['seconds'] else: seconds = 2 if not os.path.exists(path): if ERROR_RAISED == 0: ERROR_RAISED = 1 logger.error(u"observer path {} not found".format(path)) return # error delivered elif ERROR_RAISED == 1: # path found again ERROR_RAISED = 0 logger.info(u"observer path {} present again".format(path)) if ERROR_RAISED == 1: ERROR_RAISED = 0 # reset errorstate if OBSERVERTYPE == "watchdog": observer = Observer() observer.schedule(IncomeObserver(), path=path) observer.start() #logger.info(u"observe folder {} with watchdog observer".format(path)) try: while True: time.sleep(seconds) except KeyboardInterrupt: observer.stop() observer.join() return observer else: logger.info(u"observe folder {} with own observer".format(path)) AFTER = dict([(f, None) for f in os.listdir(path)]) for a in [ f for f in AFTER if f not in BEFORE and os.path.splitext(f)[-1][1:] in INPUTFORMAT ]: # new files added if a not in FILES: events.raiseEvent('file_added', incomepath=path, filename=a) logger.info(u"file_added: {}{}".format(path, a)) FILES.append(a) for r in [ f for f in BEFORE if f not in AFTER and os.path.splitext(f)[-1][1:] in INPUTFORMAT ]: if r in FILES: events.raiseEvent('file_removed', incomepath=path, filename=r) logger.info(u"file_removed: {}{}".format(path, r)) FILES.remove(r) BEFORE = AFTER return
def observeFolder(**kwargs): """ Observer method to observe given folder :param kwargs: """ global BEFORE, AFTER, FILES, ERROR_RAISED if OBSERVERACTIVE == 0: return if 'path' in kwargs: path = kwargs['path'] else: return if 'seconds' in kwargs: seconds = kwargs['seconds'] else: seconds = 2 if not os.path.exists(path): if ERROR_RAISED == 0: ERROR_RAISED = 1 logger.error(u"observer path {} not found".format(path)) return # error delivered elif ERROR_RAISED == 1: # path found again ERROR_RAISED = 0 logger.info(u"observer path {} present again".format(path)) if ERROR_RAISED == 1: ERROR_RAISED = 0 # reset errorstate if OBSERVERTYPE == "watchdog": observer = Observer() observer.schedule(IncomeObserver(), path=path) observer.start() logger.info(u"observe folder {} with watchdog observer".format(path)) try: while True: time.sleep(seconds) except KeyboardInterrupt: observer.stop() observer.join() return observer else: logger.info(u"observe folder {} with own observer".format(path)) AFTER = dict([(f, None) for f in os.listdir(path)]) for a in [f for f in AFTER if f not in BEFORE and os.path.splitext(f)[-1][1:] in INPUTFORMAT]: # new files added if a not in FILES: events.raiseEvent('file_added', incomepath=path, filename=a) logger.info(u"file_added: {}{}".format(path, a)) FILES.append(a) for r in [f for f in BEFORE if f not in AFTER and os.path.splitext(f)[-1][1:] in INPUTFORMAT]: if r in FILES: events.raiseEvent('file_removed', incomepath=path, filename=r) logger.info(u"file_removed: {}{}".format(path, r)) FILES.remove(r) BEFORE = AFTER return