| 
					
				 | 
			
			
				@@ -236,6 +236,9 @@ def parse_oebb(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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pdftk = subprocess.Popen( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ['pdftk - output - uncompress'], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -323,17 +326,31 @@ def parse(msg): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     raise Exception('failed to parse') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def compute(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def compute(register_path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     msg = email.message_from_string(sys.stdin.read()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     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(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     argparser = argparse.ArgumentParser(description = None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    argparser.add_argument('--register', metavar = 'path', dest = 'register_path') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return argparser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def main(argv): 
			 |