jsonAndRequest.py 5.0 KB

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