4killU

Untitled

Nov 29th, 2021
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.72 KB | None | 0 0
  1. #!/usr/bin/python3
  2. from requests_ntlm import HttpNtlmAuth
  3. from requests import Session
  4. from zeep import Client
  5. from zeep.transports import Transport
  6. from xml.etree import ElementTree
  7. from sys import argv
  8. from textwrap import wrap
  9. import re
  10.  
  11. session = Session()
  12. session.auth = HttpNtlmAuth('my_login', 'my_pass')
  13.  
  14. client = Client('http://my_url', transport=Transport(session=session))
  15. caller = argv[1]  #номер звонящего, ловим с астериска как $caller
  16.  
  17. body = f'''
  18.        <Request>
  19.        <Request_ID>CUSTOMER_ORDER_FILTERED_LIST</Request_ID>
  20.        <Request_Body>
  21.        <Include_Posted_Customer_Orders>yes</Include_Posted_Customer_Orders>
  22.        <Customer_Order_Header>
  23.        <Document_Id></Document_Id>
  24.        <Store_No.></Store_No.>
  25.        <Created_at_Store></Created_at_Store>
  26.        <Document_DateTime></Document_DateTime>
  27.        <Member_Contact_No.></Member_Contact_No.>
  28.        <Member_Contact_Name></Member_Contact_Name>
  29.        <Inventory_Transfer>0</Inventory_Transfer>
  30.        <Full_Name></Full_Name>
  31.        <Address></Address>
  32.        <Phone_No.>{caller}</Phone_No.>
  33.        <Email></Email>
  34.        <Member_Card_No.></Member_Card_No.>
  35.        </Customer_Order_Header>
  36.        </Request_Body>
  37.        </Request>
  38.        '''.encode('utf-8')
  39.  
  40. data=client.service.WebRequest(body,'?').pxmlResponse
  41. print(data)
  42. def find_id():
  43.     root2 = ElementTree.XML(data)
  44.     dictionary = dict()
  45.     for element in root2:
  46.         if element.tag == 'Response_Body':
  47.             for i in element:
  48.                 Delivery_Order_Status = None
  49.                 document_id = None
  50.                 for j in i:
  51.                     if j.tag == 'Delivery_Order_Status':
  52.                         Delivery_Order_Status = j.text
  53.                     elif j.tag == 'Document_Id':
  54.                         document_id = j.text
  55.                 if Delivery_Order_Status in dictionary:
  56.                     znachenie = dictionary[f'{Delivery_Order_Status}']
  57.                     znachenie2 = znachenie.append(f'{document_id}')
  58.                 else:
  59.                     dictionary[f'{Delivery_Order_Status}'] = [f'{document_id}']
  60.     playback(dictionary)
  61.  
  62. def otdelyam_nyli(nomer):
  63.     ishem_nyli = re.match(r'^00', nomer)
  64.     if ishem_nyli is None:
  65.         removed = re.sub(r'^(0)', r'\1 ', nomer)
  66.     else:
  67.         removed = re.sub(r'^(0)(0)', r'\1 \2 ', nomer)
  68.     return removed.split(" ")
  69. def playback(dictionary):
  70.     print('EXEC PLAYBACK za_vashym_nomerom_new')
  71.     for key in dictionary.keys():
  72.         if key == '0':
  73.             for value in dictionary.values():
  74.                 for nomer_zakaza in value:
  75.                     print(f'status_info is Open({key})')
  76.                     print(f'EXEC PLAYBACK vash_zakaz_nomer')
  77.                     bykvi_zakaza = nomer_zakaza[0:2]
  78.                     result_of_chistki_nyley1 = otdelyam_nyli(nomer_zakaza[2:5])
  79.                     print(f'EXEC SayAlpha {bykvi_zakaza}')
  80.                     for i in result_of_chistki_nyley1:
  81.                         print(f'EXEC SayNumber {i}')
  82.                     result_of_chistki_nyley2 = otdelyam_nyli(nomer_zakaza[5:8])
  83.                     for i in result_of_chistki_nyley2:
  84.                         print(f'EXEC SayNumber {i}')
  85.         if key == '1':
  86.             for value in dictionary.values():
  87.                 for nomer_zakaza in value:
  88.                     print(f'status_info is Released({key})')
  89.                     print(f'EXEC PLAYBACK vash_zakaz_nomer')
  90.                     bykvi_zakaza = nomer_zakaza[0:2]
  91.                     result_of_chistki_nyley1 = otdelyam_nyli(nomer_zakaza[2:5])
  92.                     print(f'EXEC SayAlpha {bykvi_zakaza}')
  93.                     for i in result_of_chistki_nyley1:
  94.                         print(f'EXEC SayNumber {i}')
  95.                     result_of_chistki_nyley2 = otdelyam_nyli(nomer_zakaza[5:8])
  96.                     for i in result_of_chistki_nyley2:
  97.                         print(f'EXEC SayNumber {i}')
  98.  
  99.         if key == '2':
  100.             for value in dictionary.values():
  101.                 for nomer_zakaza in value:
  102.                     print(f'status_info is Shipped({key})')
  103.                     print(f'EXEC PLAYBACK vash_zakaz_nomer')
  104.                     bykvi_zakaza = nomer_zakaza[0:2]
  105.                     result_of_chistki_nyley1 = otdelyam_nyli(nomer_zakaza[2:5])
  106.                     print(f'EXEC SayAlpha {bykvi_zakaza}')
  107.                     for i in result_of_chistki_nyley1:
  108.                         print(f'EXEC SayNumber {i}')
  109.                     result_of_chistki_nyley2 = otdelyam_nyli(nomer_zakaza[5:8])
  110.                     for i in result_of_chistki_nyley2:
  111.                         print(f'EXEC SayNumber {i}')
  112.  
  113. if __name__ == '__main__':
  114.     find_id()
Advertisement
Add Comment
Please, Sign In to add comment