- order = SfaRecord.fields.keys()
- for key in self.keys():
- if key not in order:
- order.append(key)
- for key in order:
- if key in self and key in self.fields:
- if key in 'gid' and self[key]:
- gid = GID(string=self[key])
- print " %s:" % key
- gid.dump(8, dump_parents)
- else:
- print " %s: %s" % (key, self[key])
-
+ # print remaining fields
+ all_fields = set(UserRecord.fields.keys() +
+ AuthorityRecord.fields.keys() +
+ SliceRecord.fields.keys() +
+ NodeRecord.fields.keys())
+ for field in self:
+ # dont print core fields
+ if field in all_fields and field not in SfaRecord.fields:
+ print " %s: %s" % (field, self[field])
+
+ def dump(self, format=None, dump_parents=False):
+ if not format:
+ format = 'text'
+ else:
+ format = format.lower()
+
+ if format == 'text':
+ self.dump_text(dump_parents)
+ elif format == 'xml':
+ print self.save_to_string()
+ elif format == 'summary':
+ print self.summary_string()
+ else:
+ raise Exception, "Invalid format %s" % format
+