123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import redis
- import time as time
- import logging
- import json
- from .DataStream import span_days, day_stamp, span_days, time_border, calc_interval
- import logging
- logger = logging.getLogger('PainterBase')
- class PainterBase(object):
- def __init__(self):
- self._redis_client = None
- pass
- def set_redis(self, rhost, rport):
- pool = redis.ConnectionPool(host=rhost, port=rport)
- self._redis_client = redis.Redis(connection_pool=pool)
- pass
- def redis_client(self):
- return self._redis_client
- def calc_time(self, reader, start_time: int, end_time: int):
- end_time = end_time or int(time.time())
- if start_time is None or start_time > end_time:
- start_time = end_time - 7200
- stime = lambda t: time.strftime('%y-%m-%d %H:%M:%S', time.localtime(t))
- interval = calc_interval(start_time, end_time)
- logger.debug("start_time %d=%s end_time=%s interval=%d", start_time, stime(start_time), stime(end_time), interval)
- days = span_days(start_time, end_time)
- sdays = [stime(day) for day in days]
- logger.debug(sdays)
- return days, start_time, end_time, interval
- def calc_xticks(self,start,end,interval):
- ticks = []
- _start = start
- while True:
- if start < end:
- ticks.append(start - _start)
- if start % interval == 0:
- start += interval
- else:
- start += interval - start % interval
- else:
- ticks.append(end - _start)
- break
- return ticks
|