jsonAndRequest.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. import json
  2. import requests
  3. import config
  4. from classes.Answer import Answer
  5. from classes.Order import Order
  6. from classes.OrderTicket import OrderTicket
  7. from classes.Ticket import Ticket
  8. # Функция преобразования json в объект класса Order
  9. def jsonToOrder(jsonstring) -> Order:
  10. jsonObj = json.loads(jsonstring)
  11. print(jsonObj)
  12. u = Order(**jsonObj)
  13. return u
  14. # Функция преобразования json в объект класса OrderTicket
  15. def jsonToOrderTicket(jsonstring) -> OrderTicket:
  16. print(jsonstring)
  17. jsonObj = json.loads(jsonstring)
  18. print(jsonObj)
  19. u = OrderTicket(**jsonObj)
  20. return u
  21. # Функция обращения к апи и получение токена
  22. def requestGetToken(login, password, url) -> str:
  23. login = "79999999999"
  24. password = "12345"
  25. # login = "11111111111"
  26. # password = "Sharix!"
  27. # url = "https://user.sharix-app.org/auth/token/login/"
  28. data = {
  29. "password": password,
  30. "phone_number": login
  31. }
  32. response = requests.post(url, json=data)
  33. result = response.json()
  34. return result['auth_token']
  35. # Функция обращения к апи и получение токена
  36. def msg_to_text(jsonstring):
  37. jsonObj = json.loads(jsonstring)
  38. u = jsonObj
  39. return u
  40. def createUser(username, phone, password, url) -> str:
  41. data = {
  42. "username": username,
  43. "phone_number": phone,
  44. "password": password
  45. }
  46. response = requests.post(url, json=data)
  47. result = response.json()
  48. return result
  49. # Функция обращения к апи и получение списка пользователей
  50. def requestGetListUser():
  51. auth_token = requestGetToken()
  52. print(auth_token)
  53. headers = {'Authorization': f'Token {auth_token}'}
  54. url = 'https://user.sharix-app.org/platform/api/sharix-users/'
  55. response = requests.get(url, headers=headers)
  56. print(response)
  57. print(response.json())
  58. # def requestGetList(auth_token, url):
  59. # headers = {'Authorization': f'Token {auth_token}'}
  60. # response = requests.get(url, headers=headers)
  61. # #response = requests.get(config.API_URL+"/dbsynce/api/orders/", headers=headers)
  62. # ordertext=response.json()
  63. # startlist = []
  64. # if not ordertext:
  65. # print("Empty array")
  66. # else:
  67. # for i in ordertext:
  68. # print (i, "PROCESSING")
  69. # try:
  70. # orderticket = OrderTicket(**i)
  71. # print(i, "ORDER ", orderticket)
  72. # startlist.append(orderticket)
  73. # except Exception as ex:
  74. # print(ex)
  75. # print (startlist)
  76. # return startlist
  77. def requestGetList(auth_token, url):
  78. headers = {'Authorization': f'Token {auth_token}'}
  79. response = requests.get(url, headers=headers)
  80. # response = requests.get(config.API_URL+"/dbsynce/api/orders/", headers=headers)
  81. ordertext = response.json()
  82. startlist = []
  83. if not ordertext:
  84. print("Empty array")
  85. else:
  86. for i in ordertext:
  87. print(i, "PROCESSING")
  88. try:
  89. order = Order(**i)
  90. print(i, "ORDER ", order)
  91. startlist.append(order)
  92. except Exception as ex:
  93. print(ex)
  94. print(startlist)
  95. return startlist
  96. def requestGetTicket(auth_token, url):
  97. headers = {'Authorization': f'Token {auth_token}'}
  98. response = requests.get(url, headers=headers)
  99. # response = requests.get(config.API_URL+"/dbsynce/api/orders/", headers=headers)
  100. tickettext = response.json()
  101. startlist = []
  102. if not tickettext:
  103. print("Empty array")
  104. else:
  105. for i in tickettext:
  106. try:
  107. ticket = Ticket(**i)
  108. startlist.append(ticket)
  109. except Exception as ex:
  110. print(ex)
  111. print(startlist)
  112. return startlist
  113. def requestPatchTicketUser(token, url, data):
  114. headers = {'Authorization': f'Token {token}'}
  115. response = requests.patch(url, json=data, headers=headers)
  116. return response
  117. def change_groups(auth_token, url, group):
  118. headers = {
  119. 'Content-Type': 'application/json',
  120. 'Authorization': f'Token {auth_token}'
  121. }
  122. response = requests.get(url, headers=headers)
  123. user_data = response.json()
  124. current_groups = user_data.get('groups', [])
  125. updated_groups = list(set([group] + current_groups))
  126. data = {'groups': updated_groups}
  127. print(data)
  128. response = requests.put(url, json=data, headers=headers)
  129. print(url)
  130. print(user_data)
  131. return response
  132. def change_status_company(auth_token, url, id_metaservice):
  133. headers = {
  134. 'Content-Type': 'application/json',
  135. 'Authorization': f'Token {auth_token}'
  136. }
  137. response = requests.get(url, headers=headers)
  138. user_data = response.json()
  139. print(user_data)
  140. current_metaservice = user_data.get('id_metaservice', [])
  141. repsonse = requests.put(config.API_URL + f"dbsynce/api/company/{id_metaservice}", json=data, headers=headers)
  142. return response
  143. def to_answer(jsonstring):
  144. json_answer = json.loads(jsonstring)
  145. print(json_answer)
  146. u = Answer(**json_answer)
  147. return u
  148. def change_to_task(localtask, token):
  149. headers = {
  150. 'Authorization': f'Token {token}',
  151. 'Content-Type': 'application/json' # Установка заголовка Content-Type
  152. }
  153. data = json.dumps(localtask.__dict__)
  154. response = requests.patch(config.API_URL + f"/dbsynce/api/orders/{localtask.id}/", headers=headers, data=data)
  155. return response