def insert_entity(self, entity): if entity.exists: raise edm.EntityExists(str(entity.get_location())) if self.is_medialink_collection(): # insert a blank stream and then update mle = self.new_stream(src=StringIO()) entity.set_key(mle.key()) # 2-way merge mle.merge(entity) entity.merge(mle) entity.exists = True self.update_entity(entity) else: doc = core.Document(root=core.Entry(None, entity)) data = str(doc) request = http.ClientRequest(str(self.baseURI), 'POST', entity_body=data) request.set_content_type( params.MediaType.from_str(core.ODATA_RELATED_ENTRY_TYPE)) self.client.process_request(request) if request.status == 201: # success, read the entity back from the response doc = core.Document() doc.Read(request.res_body) entity.exists = True doc.root.GetValue(entity) # so which bindings got handled? Assume all of them for k, dv in entity.NavigationItems(): dv.bindings = [] else: self.RaiseError(request)
def databaseFromXML(xmlURL): tree = ET.ElementTree() root = tree.parse(xmlURL) database = core.Database() for entryNode in root.iter('entry'): entry = core.Entry() entry.text = entryNode.text if entryNode.text is None: entry.text = '' attrib = entryNode.attrib entry.color = makeString(attrib['color']) entry.title = makeString(attrib['title']) entry.timeCreated = float(attrib['timeCreated']) entry.timeLastEdited = float(attrib['timeLastEdited']) database.addEntry(entry) return database
def InsertEntity(self, entity): if entity.exists: raise edm.EntityExists(str(entity.GetLocation())) doc = core.Document(root=core.Entry(None, entity)) data = str(doc) request = http.HTTPRequest(str(self.baseURI), 'POST', reqBody=data) request.SetContentType( http.MediaType.FromString(core.ODATA_RELATED_ENTRY_TYPE)) self.client.ProcessRequest(request) if request.status == 201: # success, read the entity back from the response doc = core.Document() doc.Read(request.resBody) entity.exists = True doc.root.GetValue(entity) # so which bindings got handled? Assume all of them for k, dv in entity.NavigationItems(): dv.bindings = [] else: self.RaiseError(request)
def to_entry(self) -> core.Entry: return core.Entry(self.name, self.age, core.Gender.parse(self.gender), self.bmi, core.BmiCategory.parse(self.bmi_category), self.timestamp)
def addBlankEntry(self): """Adds a new Blank Entry to the Entry View.""" entry = core.Entry() self.master.databaseHandler.addEntry(entry) self.sort()