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)
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))
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)
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)