class Record(object):
_identity_field = None
+
def get(self, field):
try:
return self.__getattribute__(field)
except:
return None
+
def _formatField(self, field):
v = self.get(field)
if callable(v):
return '[%d x %s]'%(len(v), type(v[0]))
else:
return repr(v)
+
+ @classmethod
+ def _ignore(cls):
+ return [cls._identity_field]
+
def _fields(self):
ignore = self._ignore()
- keys = sorted(self.__class__.__dict__.keys())
- return [(k,self._formatField(k)) for k in keys if k[0]!="_" and k not in ignore]
+ keys = sorted(self.c.keys())
+ return [(k,self._formatField(k)) for k in keys if k not in ignore]
+
def __repr__(self):
classname = self.__class__.__name__
payload = ": "+payload
return "<%s%s%s>" % (classname, identity, payload)
- def _ignore(self):
- return [self._identity_field, 'c', 'query', 'get']
class FormattableRecord(Record):
_format = {}