Esempio n. 1
0
 def get(self, parcel_id, parcel_event_id):
     response_dict = None
     if parcel_id is None:
         # show all parcels, sans events
         pq = Parcel.all()
         parcels = pq.fetch(100)
         response_dict = [p.to_dict() for p in parcels]
     else:
         # show single parcel, with events
         # unless event id set,
         # in that case, just return the event
         parcel = Parcel.get_by_id(int(parcel_id))
         if parcel is None:
             return self.not_found()
         response_dict = parcel.to_dict()
         
         if parcel_event_id is None:
             eq = ParcelEvent.all()
             eq.ancestor(parcel)
             eq.order("date")
             events = eq.fetch(100)
             event_dicts = [e.to_dict() for e in events]
             response_dict["events"] = event_dicts
         else:
             event = ParcelEvent.get_by_id(int(parcel_event_id), parent=parcel)
             if event is None:
                 return self.not_found()
             response_dict = event.to_dict()
     
     self.response.headers["Content-Type"] =  "application/json; charset=UTF-8"
     self.response.out.write(json.dumps(response_dict))
Esempio n. 2
0
    def delete(self, parcel_id, parcel_event_id):
        if parcel_id is None:
            return self.not_found()

        parcel = Parcel.get_by_id(int(parcel_id))
        if parcel is None:
            return self.not_found()

        if parcel_event_id is None:
            parcel.delete()
        else:
            parcelEvent = ParcelEvent.get_by_id(int(parcel_event_id), parent=parcel)
            if parcelEvent is None:
                return self.not_found()
                
            parcelEvent.delete()

        return self.no_content()
Esempio n. 3
0
 def get(self):
     tracking_number = self.request.get("kolliid")
     
     
     if len(tracking_number) < 9:
         xml = ParcelHelper().tracking_number_error_as_xml()
     else:
         parcel_query = Parcel.all()
         parcel_query.filter("tracking_number =", tracking_number)
         parcel = parcel_query.get()
         
         if parcel is None:
             xml = ParcelHelper().no_parcel_as_xml(tracking_number)
         else:
             events_query = ParcelEvent.all()
             logging.info( parcel )
             events_query.ancestor(parcel.key())
             events = events_query.fetch(100)
             
             xml = ParcelHelper().parcel_as_xml(tracking_number, parcel, events)
     
     self.response.headers["Content-Type"] =  "text/xml; charset=ISO-8859-1"
     self.response.out.write(xml)
Esempio n. 4
0
             "date":         datetime(2010, 04, 25, 11, 52),
             "location":     "System Ange",
             "code" :        30,
             "description":  "Kvittensreg. vid scannerstat."
         },
         {
             "error":        True,
             "date":         datetime(2010, 04, 06, 11, 52),
             "location":     "Sunsdsvall lokal",
             "code" :        802,
             "description":  "Stangt hos mottagare"
         },
     ]
     
     for event in p1_events:
         e = ParcelEvent(parent=p1)
         e.date = event["date"]
         e.location = event["location"]
         e.code = event["code"]
         e.description = event["description"]
         if event.has_key("error"):
             e.error = event["error"]
         e.put()
 
     """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     			<errorevent>
     				<date>20000406</date>
     				<time>1423</time>
     				<location>Sunsdsvall lokal</location>
     				<code>802</code>
     				<description>Stängt hos mottagare</description>