jsonAndRequest.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import json
  2. import requests
  3. #Тестовый класс User и Address (ВАЖНО!!!) поля классов должны называться также как и поля json объекта
  4. #{
  5. #
  6. # "ticket": null,
  7. # "state": "",
  8. # "id_metaservice": null,
  9. # "is_global": false,
  10. # "is_visible": false,
  11. # "service": null,
  12. # "service_type": null,
  13. #
  14. # "time_placed": null,
  15. # "time_start": null,
  16. # "time_start_predicted": null
  17. # "time_finish_predicted": null,
  18. # "time_start_real":
  19. # "time_finish_real": null,
  20. #
  21. # "order_place_start": "р-н Беговой",
  22. # "order_place_start_gps": "р-н Беговой",
  23. # "order_place_start_real": "р-н Беговой",
  24. # "order_place_start_real_gps": "р-н Беговой",
  25. # "order_place_finish_predicted": "р-н Мещанский",
  26. # "order_place_finish_predicted_gps": "р-н Мещанский",
  27. # "order_place_finish_real": "р-н Мещанский",
  28. # "order_place_finish_real_gps": "р-н Мещанский",
  29. #
  30. # "predicted_price": null,
  31. # "real_price": null,
  32. # "payment_transaction_id"
  33. # "rating_id"
  34. #
  35. # "provider": null,
  36. # "provider_screen_name": null
  37. # "receiver": null,
  38. # "receiver_screen_name": nulll
  39. # "client_id": null
  40. # "resource_id"
  41. #}
  42. class Order(object):
  43. def __init__(self, ticket, state):
  44. self.ticket = ticket
  45. self.state = state
  46. #доделать до конца по аналогии с закоммиченным json
  47. def __str__(self):
  48. return "{0}, {1},\n".format(self.ticket, self.state)
  49. #\n добавляете в местах с пустой строкой в шаблоне
  50. #Функция преобразования json в объект класса
  51. def jsonToClass(jsonstring) -> Order:
  52. jsonObj = json.loads(jsonstring)
  53. print(jsonObj)
  54. u = Order(**jsonObj)
  55. return u
  56. #Функция обращения к апи и получение токена
  57. def requestGetToken(login, password, url) -> str:
  58. #login = "79876543210"
  59. #password = "admin12345@"
  60. #url = "https://user.sharix-app.org/auth/token/login/"
  61. data = {
  62. "password": password,
  63. "phone_number": login
  64. }
  65. response = requests.post(url, json=data)
  66. result = response.json()
  67. return result['auth_token']
  68. #Функция обращения к апи и получение токена
  69. def createUser(username, phone, password, url) -> str:
  70. data = {
  71. "username": username,
  72. "phone_number": phone,
  73. "password": password
  74. }
  75. response = requests.post(url, json=data)
  76. result = response.json()
  77. return result
  78. #Функция обращения к апи и получение списка пользователей
  79. def requestGetListUser():
  80. auth_token=requestGetToken()
  81. print(auth_token)
  82. headers = {'Authorization': f'Token {auth_token}'}
  83. url = 'https://user.sharix-app.org/platform/api/sharix-users/'
  84. response = requests.get(url, headers=headers)
  85. print(response)
  86. print(response.json())
  87. def requestGetList(token, url):
  88. #auth_token=requestGetToken()
  89. #print(auth_token)
  90. headers = {'Authorization': f'Token {auth_token}'}
  91. #url = 'https://user.sharix-app.org/platform/api/sharix-users/'
  92. response = requests.get(url, headers=headers)
  93. print(response)
  94. print(response.json())