+ key = models.CharField(max_length=KEY_SIZE)
+
+ def generate_key(self):
+ key = ''
+ while not key or Contact.objects.filter(key=key).exists():
+ key = make_key(KEY_SIZE)
+ self.key = key
+ self.save()
+
+ @staticmethod
+ def pretty_print(value, for_html=False):
+ if type(value) in (tuple, list, dict):
+ value = yaml.safe_dump(value, allow_unicode=True, default_flow_style=False)
+ if for_html:
+ value = smart_unicode(value).replace(u" ", unichr(160))
+ return value