Beispiel #1
0
    def get_datewalk(args):
        """
        get list of datestrings between two datestrings

        ex: Datalogger/get_datewalk/{datestring1}/{datestring2}

        returns:
        json(list of datestrings)
        """
        datestring1, datestring2 = args[:2]
        data = tuple(DataLogger.datewalker(datestring1, datestring2))
        return json.dumps(data)
Beispiel #2
0
 def test_statics(self):
     self.assertTrue(isinstance(DataLogger.get_user(self.basedir), basestring))
     self.assertTrue(isinstance(DataLogger.get_group(self.basedir), basestring))
     self.assertTrue(isinstance(DataLogger.get_yesterday_datestring(), basestring))
     lbd = DataLogger.get_last_business_day_datestring()
     self.assertTrue(isinstance(DataLogger.get_last_business_day_datestring(), basestring))
     self.assertTrue(isinstance(DataLogger.datestring_to_date(lbd), datetime.date))
     for datestring in DataLogger.datewalker("2016-01-01", "2016-02-29"):
         self.assertTrue(isinstance(datestring, basestring))
     for datestring in DataLogger.monthwalker("2016-02"):
         self.assertTrue(isinstance(datestring, basestring))
     self.assertEqual(list(DataLogger.monthwalker("2016-02"))[-1], "2016-02-29")
     self.assertTrue(isinstance(DataLogger.get_ts_for_datestring("2016-01-01"), tuple))
     self.assertTrue(isinstance(DataLogger.get_ts_for_datestring("2016-01-01")[0], float))
     self.assertTrue(isinstance(DataLogger.get_ts_for_datestring("2016-01-01")[1], float))
Beispiel #3
0
def main():
    for datestring in tuple(DataLogger.datewalker(startdate, args.enddate)):
        start_ts, stop_ts = DataLogger.get_ts_for_datestring(datestring)
        logging.debug("working on datestring %s (from %s to %s)", datestring, start_ts, stop_ts)
        for project in DataLogger.get_projects(args.basedir):
            if args.project is not None:
                if project != args.project:
                    logging.debug("skipping project %s", project)
                    continue
            logging.debug("working on project %s", project)
            for tablename in DataLogger.get_tablenames(args.basedir, project):
                if args.tablename is not None:
                    if tablename != args.tablename:
                        logging.debug("skipping tablename %s", tablename)
                        continue
                    logging.debug("working on tablename %s", tablename)
                archive(project, tablename, datestring)
Beispiel #4
0
 def get_lt_ts(self, project, tablename, args):
     """
     get longtime statistical values
     """
     # datestringStart + "/" + datestringStop + "/" + Base64.encode(indexKey) + "/" + valueKeyname + "/" + statFuncName
     start, stop, index_key_enc, value_keyname, stat_func_name = args
     index_key = tuple([unicode(key_value) for key_value in eval(base64.b64decode(index_key_enc))])
     datalogger = DataLogger(basedir, project, tablename)
     filterkeys = dict(zip(datalogger.index_keynames, index_key))
     ret_data = []
     for datestring in datalogger.datewalker(start, stop):
         try:
             tsastats = datalogger.load_tsastats(datestring, filterkeys=filterkeys)
             ret_data.append([datestring, tsastats[index_key][value_keyname][stat_func_name]])
         except DataLoggerRawFileMissing as exc:
             logging.error("No Input File for datestring %s found, skipping this date", datestring)
         except DataLoggerLiveDataError as exc:
             logging.error("Reading from live data is not allowed, skipping this data, and ending loop")
             break
     return json.dumps(ret_data)