from dcmetrometrics.common.metroTimes import getLastOpenTime from dcmetrometrics.eles.models import Unit, SymptomCode, UnitStatus, SystemServiceReport from dcmetrometrics.common.globals import WWW_DIR from dcmetrometrics.common.utils import gen_days from dcmetrometrics.common.JSONifier import JSONWriter import argparse parser = argparse.ArgumentParser(description='Run daily service reports.') parser.add_argument('--all', action = 'store_true', help='Compute all, instead of a one day update.') ########################################## # Set up logging from dcmetrometrics.common import logging_utils logger = logging_utils.create_logger(__name__) DEBUG = logger.debug WARNING = logger.warning INFO = logger.info # Set up the ELES logger as well. This is used by other modules logger_eles = logging_utils.create_logger("ELESApp") ######################################### class ReturnObject(object): pass def filter_consecutive_statuses(statuses): """ Filter out consecutive statuses with the same symptom description """
import gc from operator import attrgetter # gc.set_debug(gc.DEBUG_STATS) from dcmetrometrics.common.dbGlobals import G from dcmetrometrics.eles import dbUtils from dcmetrometrics.eles.models import Unit, SymptomCode, UnitStatus, SystemServiceReport from datetime import timedelta from dcmetrometrics.common.globals import WWW_DIR from dcmetrometrics.common.utils import gen_days ########################################## # Set up logging from dcmetrometrics.common import logging_utils logger = logging_utils.create_logger(__name__) DEBUG = logger.debug WARNING = logger.warning INFO = logger.info ########################################## class ReturnObject(object): pass def filter_consecutive_statuses(statuses): """ Filter out consecutive statuses with the same symptom description """ statuses = sorted(statuses, key = attrgetter('time')) last_status = None keep = []