jsonAndRequest.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. import json
  2. import requests
  3. import config
  4. import ast
  5. #Функция обращения к апи и получение токена
  6. def requestGetToken(url) -> str:
  7. login = "11111111111"
  8. password = "Sharix!"
  9. #url = "https://user.sharix-app.org/auth/token/login/"
  10. data = {
  11. "password":password,
  12. "phone_number":login
  13. }
  14. response = requests.post(url,json=data)
  15. result = response.json()
  16. return result['auth_token']
  17. #Функция обращения к апи и получение токена
  18. def msg_to_text(jsonstring):
  19. jsonObj = json.loads(jsonstring)
  20. u = jsonObj
  21. return u
  22. def createUser(username, phone, password, url) -> str:
  23. data = {
  24. "username": username,
  25. "phone_number": phone,
  26. "password": password
  27. }
  28. response = requests.post(url, json=data)
  29. result = response.json()
  30. return result
  31. #Функция обращения к апи и получение списка пользователей
  32. def requestGetListUser():
  33. auth_token=requestGetToken()
  34. print(auth_token)
  35. headers = {'Authorization': f'Token {auth_token}'}
  36. url = 'https://user.sharix-app.org/platform/api/sharix-users/'
  37. response = requests.get(url, headers=headers)
  38. print(response)
  39. print(response.json())
  40. class Ticket(object):
  41. def __init__(self, id, name, group):
  42. self.id = id
  43. self.name = name
  44. self.group = group
  45. def __str__(self):
  46. return "{0}, {1}, {2},\n".format(self.id, self.name, self.group)
  47. def requestGetList(auth_token, url):
  48. headers = {'Authorization': f'Token {auth_token}'}
  49. response = requests.get(url, headers=headers)
  50. #response = requests.get(config.API_URL+"/dbsynce/api/orders/", headers=headers)
  51. tickettext=response.json()
  52. startlist = []
  53. if not tickettext:
  54. print("Empty array")
  55. else:
  56. for i in tickettext:
  57. print (i, "PROCESSING")
  58. try:
  59. ticket = Ticket(**i)
  60. print(i, "Ticket ", ticket)
  61. startlist.append(ticket)
  62. except Exception as ex:
  63. print(ex)
  64. print (startlist)
  65. return startlist
  66. class Ticket_user(object):
  67. def __init__(self, id, status, title, ticket_type, created_at, updated_at, due_date, priority, created_by, assigned_to):
  68. self.id = id
  69. self.status = status
  70. self.title = title
  71. self.ticket_type = ticket_type
  72. self.created_at = created_at
  73. self.updated_at = updated_at
  74. self.due_date = due_date
  75. self.priority = priority
  76. self.created_by = created_by
  77. self.assigned_to = assigned_to
  78. def __str__(self):
  79. return "{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}\n".format(
  80. self.id, self.status, self.title, self.ticket_type, self.created_at,
  81. self.updated_at, self.due_date, self.priority,
  82. self.created_by, self.assigned_to
  83. )
  84. def requestGetTicket_user(auth_token, url):
  85. headers = {'Authorization': f'Token {auth_token}'}
  86. response = requests.get(url, headers=headers)
  87. #response = requests.get(config.API_URL+"/dbsynce/api/orders/", headers=headers)
  88. tickettext=response.json()
  89. startlist = []
  90. if not tickettext:
  91. print("Empty array")
  92. else:
  93. for i in tickettext:
  94. try:
  95. ticket = Ticket_user(**i)
  96. startlist.append(ticket)
  97. except Exception as ex:
  98. print(ex)
  99. print (startlist)
  100. return startlist
  101. def change_groups(auth_token, url,group):
  102. headers = {
  103. 'Content-Type': 'application/json',
  104. 'Authorization': f'Token {auth_token}'
  105. }
  106. response = requests.get(url, headers=headers)
  107. user_data = response.json()
  108. current_groups = user_data.get('groups', [])
  109. updated_groups = list(set([group]+current_groups))
  110. data = {'groups': updated_groups}
  111. print(data)
  112. response = requests.put(url, json=data, headers=headers)
  113. print(url)
  114. print(user_data)
  115. return response