Bläddra i källkod

ticket parsing added

Dev Server 1 år sedan
förälder
incheckning
74752fd8b1
1 ändrade filer med 65 tillägg och 3 borttagningar
  1. 65 3
      jsonAndRequest.py

+ 65 - 3
jsonAndRequest.py

@@ -2,7 +2,7 @@ import json
 import requests
 #Тестовый класс User и Address (ВАЖНО!!!) поля классов должны называться также как и поля json объекта
 
-#Full json example
+#Full json order example
 '''
 {
 
@@ -125,8 +125,70 @@ class Order(object):
         return "{0}, {1}, {2}, {3}, {4}, {5}, {6},\n{7}, {8}, {9}, {10}, {11}, {12},\n{13}, {14}, {15}, {16}, {17}, {18}, {19}, {20},\n{21}, {22}, {23}, {24},\n{25}, {26}, {27}, {28}, {29}, {30}".format(self.ticket, self.state, self.id_metaservice, self.is_global, self.is_visible, self.service, self.service_type, self.time_placed, self.time_start, self.time_start_predicted, self.time_finish_predicted, self.time_start_real, self.time_finish_real, self.order_place_start, self.order_place_start_gps, self.order_place_start_real, self.order_place_start_real_gps, self.order_place_finish_predicted, self.order_place_finish_predicted_gps, self.order_place_finish_real, self.order_place_finish_real_gps, self.predicted_price, self.real_price, self.payment_transaction_id, self.rating_id,  self.provider, self.provider_screen_name, self.receiver, self.receiver_screen_name, self.client_id, self.resource_id)
         #\n добавляете в местах с пустой строкой в шаблоне
         
-#Функция преобразования json в объект класса 
-def jsonToClass(jsonstring) -> Order:
+
+#ticket json example
+'''
+{
+        "id": 2,
+        "status": 111,
+        "created_date": "2023-05-15",
+        "status_changed_date": "2023-05-15T17:16:22.955601Z",
+        "priority": 0,
+        "title": "Test",
+        "note": "{\n    \n    \"ticket\": 1,\n    \"state\": 1,\n    \"id_metaservice\": 1,\n    \"is_global\": false,\n    \"is_visible\": false,\n    \"service\": 1,\n    \"service_type\": 1,\n\n    \"time_placed\": 1}"
+        "due_date": "2023-05-15",
+        "task_list": 10,
+        "created_by": 1,
+        "type": 1,
+        "assigned_to": 1
+}
+'''
+
+#ticket minimal example
+'''
+{
+        "id": 2,
+        "status": 111,
+        "created_date": "2023-05-15",
+        "status_changed_date": "2023-05-15T17:16:22.955601Z",
+        "priority": 0,
+        "title": null,
+        "note": null,
+        "due_date": null,
+        "task_list": 10,
+        "created_by": 1,
+        "type": 1,
+        "assigned_to": null
+}
+'''
+
+class OrderTicket(object):
+    def __init__(self, id, status, created_date, status_changed_date, priority, title=None, note=None, due_date=None, task_list, created_by, type, assigned_to=None):
+        self.id = id
+        self.status = status
+        self.created_date = created_date
+        self.status_changed_date = status_changed_date
+        self.priority = priority
+        self.title = title
+        self.note = note
+        self.due_date = due_date
+        self.task_list = task_list
+        self.created_by = created_by
+        self.type = type
+        self.assigned_to = assigned_to
+
+    def  __str__(self):
+        return "{0}, {1}, {2}, {3}, {4}, {5}, {6},\n{7}, {8}, {9}, {10}, {11}, {12},\n".format(self.id, self.status, self.created_date, self.status_changed_date, self.priority, self.title, self.note, self.due_date, self.task_list, self.created_by, self.type, self.assigned_to) 
+
+#Функция преобразования json в объект класса Order
+def jsonToOrder(jsonstring) -> Order:
+    jsonObj = json.loads(jsonstring)
+    print(jsonObj)
+    u = Order(**jsonObj)
+    return u
+
+#Функция преобразования json в объект класса OrderTicket
+def jsonToTicket(jsonstring) -> OrderTicket:
     jsonObj = json.loads(jsonstring)
     print(jsonObj)
     u = Order(**jsonObj)