X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fstorage%2Frecord.py;fp=sfa%2Fstorage%2Frecord.py;h=5c5238e2899b2a7cd888b41ccedcff82a2b12a0d;hb=6d99783cf288ca720d94d79ee86f35b970839621;hp=b31ed26a8c8e806819298f5ca1ef78e0bfa28f6a;hpb=92ab25d16d77c05a1547e14f690d6769787ac9f7;p=sfa.git diff --git a/sfa/storage/record.py b/sfa/storage/record.py index b31ed26a..5c5238e2 100644 --- a/sfa/storage/record.py +++ b/sfa/storage/record.py @@ -33,6 +33,9 @@ class Record: d=self.__dict__ keys=[k for k in d.keys() if not k.startswith('_')] return dict ( [ (k,d[k]) for k in keys ] ) + + def toxml(self): + return self.save_as_xml() def load_from_dict (self, d): for (k,v) in d.iteritems(): @@ -45,13 +48,12 @@ class Record: # for this purpose only, we need the subclasses to define 'fields' as either # a list or a dictionary def xml_fields (self): - fields=self.fields - if isinstance(fields,dict): fields=fields.keys() + fields = self.__dict__.keys() return fields def save_as_xml (self): # xxx not sure about the scope here - input_dict = dict( [ (key, getattr(self.key), ) for key in self.xml_fields() if getattr(self,key,None) ] ) + input_dict = dict( [ (key, getattr(self,key)) for key in self.xml_fields() if getattr(self,key,None) ] ) xml_record=XML("") xml_record.parse_dict (input_dict) return xml_record.toxml()