Ejemplo n.º 1
0
 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))
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
 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))