|
@@ -49,6 +49,47 @@ def mch_paths(reader: MerchantReader, tuple_pathes: dict, days: list):
|
|
|
view += data
|
|
|
yield mchid, None, None, mch_datas
|
|
|
|
|
|
+def mch_paths(reader: MerchantReader, tuple_pathes: dict, days: list):
|
|
|
+ count = len(days)
|
|
|
+ for mchid, tup in tuple_pathes.items():
|
|
|
+ mch_datas = reader.init_data(count)
|
|
|
+ for _card_type, _spec in tup:
|
|
|
+ for i, day in enumerate(days):
|
|
|
+ data = reader.read(day, mchid, _card_type, _spec)
|
|
|
+ if data is not None:
|
|
|
+ column_pos = i * 86400
|
|
|
+ view = mch_datas[:, column_pos:column_pos + 86400]
|
|
|
+ view += data
|
|
|
+ yield mchid, None, None, mch_datas
|
|
|
+
|
|
|
+def mch_cardtype_paths(reader: MerchantReader, tuple_pathes: dict, days: list):
|
|
|
+ def split_card(card_specs):
|
|
|
+ result = dict()
|
|
|
+ for card_type,spec in card_specs:
|
|
|
+ if card_type not in result:
|
|
|
+ result[card_type] = []
|
|
|
+ result[card_type].append(spec)
|
|
|
+ return result
|
|
|
+
|
|
|
+ count = len(days)
|
|
|
+ for mchid, tup in tuple_pathes.items():
|
|
|
+ mch_datas = reader.init_data(count)
|
|
|
+ card_specs = split_card(tup)
|
|
|
+ for _card_type, specs in card_specs.items():
|
|
|
+ card_type_data = reader.init_data(count)
|
|
|
+ for _spec in specs:
|
|
|
+ for i, day in enumerate(days):
|
|
|
+ data = reader.read(day, mchid, _card_type, _spec)
|
|
|
+ if data is not None:
|
|
|
+ column_pos = i * 86400
|
|
|
+ view = mch_datas[:, column_pos:column_pos + 86400]
|
|
|
+ view += data
|
|
|
+
|
|
|
+ view = card_type_data[:, column_pos:column_pos + 86400]
|
|
|
+ view += data
|
|
|
+ yield mchid, _card_type, None, card_type_data
|
|
|
+ yield mchid, None, None, mch_datas
|
|
|
+
|
|
|
def allpathes(reader: MerchantReader, tuple_pathes: dict, days: list, spec=None):
|
|
|
count = len(days)
|
|
|
show_detail = True if len(list(tuple_pathes.keys())) == 1 else False
|