|
@@ -236,6 +236,9 @@ def parse_oebb(msg):
|
|
|
|
|
|
def parse_mytaxi(msg):
|
|
def parse_mytaxi(msg):
|
|
|
|
|
|
|
|
+ if not 'mytaxi' in msg.get_payload()[0].get_payload()[0].get_payload(decode = True):
|
|
|
|
+ raise Exception('no mytaxi mail')
|
|
|
|
+
|
|
pdf_compressed = msg.get_payload()[1].get_payload(decode = True)
|
|
pdf_compressed = msg.get_payload()[1].get_payload(decode = True)
|
|
pdftk = subprocess.Popen(
|
|
pdftk = subprocess.Popen(
|
|
['pdftk - output - uncompress'],
|
|
['pdftk - output - uncompress'],
|
|
@@ -323,17 +326,31 @@ def parse(msg):
|
|
|
|
|
|
raise Exception('failed to parse')
|
|
raise Exception('failed to parse')
|
|
|
|
|
|
-def compute():
|
|
|
|
|
|
+def compute(register_path):
|
|
|
|
|
|
msg = email.message_from_string(sys.stdin.read())
|
|
msg = email.message_from_string(sys.stdin.read())
|
|
|
|
|
|
order = parse(msg)
|
|
order = parse(msg)
|
|
|
|
|
|
- print(yaml.safe_dump(order, default_flow_style = False))
|
|
|
|
|
|
+ if register_path:
|
|
|
|
+ with open(register_path, 'r') as register:
|
|
|
|
+ orders = yaml.load(register.read().decode('utf-8'))
|
|
|
|
+ if not orders:
|
|
|
|
+ orders = {}
|
|
|
|
+ if order.platform not in orders:
|
|
|
|
+ orders[order.platform] = {}
|
|
|
|
+ if order.order_id in orders[order.platform]:
|
|
|
|
+ raise Exception('already registered')
|
|
|
|
+ orders[order.platform][order.order_id] = order
|
|
|
|
+ with open(register_path, 'w') as register:
|
|
|
|
+ register.write(yaml.safe_dump(orders, default_flow_style = False))
|
|
|
|
+ else:
|
|
|
|
+ print(yaml.safe_dump(order, default_flow_style = False))
|
|
|
|
|
|
def _init_argparser():
|
|
def _init_argparser():
|
|
|
|
|
|
argparser = argparse.ArgumentParser(description = None)
|
|
argparser = argparse.ArgumentParser(description = None)
|
|
|
|
+ argparser.add_argument('--register', metavar = 'path', dest = 'register_path')
|
|
return argparser
|
|
return argparser
|
|
|
|
|
|
def main(argv):
|
|
def main(argv):
|