stanley-king 2 роки тому
батько
коміт
5a9d6934bc

+ 2 - 2
plot/app.py

@@ -24,7 +24,7 @@ logging.basicConfig(filename='/var/www/html/data/log/flask.log',
                     level=logging.DEBUG)
 logger = logging.getLogger('plot')
 
-from refill import ChannelPainter, MerchantPainter
+from refill import ChannelCumPainter, MerchantPainter
 from refill import filter_chname, filter_cardtype, filter_mchids, get_channels, get_mchids
 
 
@@ -62,7 +62,7 @@ def ch_ratio():
         chnames = request.args.get('chnames')
         chnames = filter_chname(chnames)
 
-        painter = ChannelPainter(start_time=start_time, end_time=end_time, chnames=chnames, card_types=card_types, spec=spec, filter_wave=filter_wave)
+        painter = ChannelCumPainter(start_time=start_time, end_time=end_time, chnames=chnames, card_types=card_types, spec=spec, filter_wave=filter_wave)
         buf, ratios = painter.paint()
         data = base64.b64encode(buf.getbuffer()).decode("ascii")
 

+ 2 - 2
plot/plot_control.py

@@ -11,7 +11,7 @@ import time
 import signal as sig
 import sys, getopt
 
-from refill import ChannelPainter,MerchantPainter
+from refill import ChannelCumPainter,MerchantPainter
 from refill import filter_chname, filter_cardtype, filter_mchids, get_channels, get_mchids
 
 logging.basicConfig(filename='/var/www/html/data/log/flask.log',
@@ -53,7 +53,7 @@ def ch_ratio():
         chnames = request.args.get('chnames')
         chnames = filter_chname(chnames)
 
-        painter = ChannelPainter(start_time=start_time, end_time=end_time, chnames=chnames, card_types=card_types, spec=spec, filter_wave=filter_wave)
+        painter = ChannelCumPainter(start_time=start_time, end_time=end_time, chnames=chnames, card_types=card_types, spec=spec, filter_wave=filter_wave)
         buf = painter.paint()
         data = base64.b64encode(buf.getbuffer()).decode("ascii")
 

+ 3 - 5
plot/refill/ChannelCumPainter.py

@@ -1,7 +1,6 @@
-from .DataStream import EChPosmap as pos_map, day_stamp, span_days, time_border, calc_interval
+from .DataStream import EChPosmap as pos_map
 from .ChannelReader import ChannelReader
-from .ChannelPainter import ChannelPainter
-from collections import defaultdict
+from .ChannelPainter import ChannelPainter, ratio_pathes
 from matplotlib.figure import Figure
 from matplotlib import ticker
 from io import BytesIO
@@ -16,8 +15,7 @@ class ChannelCumPainter(ChannelPainter):
     def __init__(self, start_time: int, end_time: int, chnames: set = None, card_types: set = None, spec: int = None, filter_wave: int = None):
         self._reader = ChannelReader()
         self._chnames, self._card_types, self._spec, self._filter_wave = chnames, card_types, spec, filter_wave
-        self._days, self._start_time, self._end_time = self.calc_time(self._reader, start_time, end_time)
-        self._interval = calc_interval(start_time, end_time)
+        self._days, self._start_time, self._end_time, self._interval = self.calc_time(self._reader, start_time, end_time)
         pass
 
     def paint(self):

+ 3 - 3
plot/refill/PainterBase.py

@@ -2,7 +2,7 @@ import redis
 import time as time
 import logging
 import json
-from .DataStream import span_days
+from .DataStream import span_days, day_stamp, span_days, time_border, calc_interval
 
 import logging
 logger = logging.getLogger('PainterBase')
@@ -23,7 +23,7 @@ class PainterBase(object):
     def calc_time(self, reader, start_time: int, end_time: int):
         if end_time is None:
             end_time = int(time.time())
-        end_time = reader.near_stamp(_end_time, False)
+        end_time = reader.near_stamp(end_time, False)
         if end_time is None:
             raise Exception('data is empty')
 
@@ -48,4 +48,4 @@ class PainterBase(object):
         sdays = [stime(day) for day in days]
         logger.debug(sdays)
 
-        return days, start_time, end_time
+        return days, start_time, end_time, interval

+ 2 - 2
plot/testPlot.py

@@ -47,8 +47,8 @@ class MyTestCase(unittest.TestCase):
         from refill import ChannelCumPainter
 
         start_time = int(time.time()) - 10 * 86400 - 3600
-        end_time = int(time.time()) - 2 * 86400
-        painter = ChannelCumPainter(start_time=start_time, end_time=end_time, interval=300, chnames=set(), card_types={4, 5, 6})
+        end_time = int(time.time()) - 10 * 86400
+        painter = ChannelCumPainter(start_time=start_time, end_time=end_time, chnames=set(), card_types={4, 5, 6})
         painter.paint()
 
     def testDays(self):