X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fstorage%2Frecord.py;h=812efdeba29a6058ffc8a15b99e46a31861e5739;hb=1cc8e9613cab8b5b22478de369f259e591c54e6d;hp=0ac188f1f818af0f4927cacb853684e5379de7f0;hpb=66871800522dcc48fc9726e5369c4a68b6357cec;p=sfa.git diff --git a/sfa/storage/record.py b/sfa/storage/record.py index 0ac188f1..812efdeb 100644 --- a/sfa/storage/record.py +++ b/sfa/storage/record.py @@ -33,9 +33,17 @@ class Record: # fallback return "** undef_datetime **" - def todict (self): + # it may be important to exclude relationships, which fortunately + # + def todict (self, exclude_types=[]): d=self.__dict__ - keys=[k for k in d.keys() if not k.startswith('_')] + def exclude (k,v): + if k.startswith('_'): return True + if exclude_types: + for exclude_type in exclude_types: + if isinstance (v,exclude_type): return True + return False + keys=[k for (k,v) in d.items() if not exclude(k,v)] return dict ( [ (k,d[k]) for k in keys ] ) def toxml(self):