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_user import Ticket_user
  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_user(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_user(**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