changeset 2156:a27e4d44237e beta

Use __unicode__ instead of __repr__ in models.
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 22 Mar 2012 02:44:42 +0200
parents 24d906650cc0
children 6a2c0cfb018d
files rhodecode/model/db.py rhodecode/model/notification.py
diffstat 2 files changed, 27 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/model/db.py	Thu Mar 22 02:35:50 2012 +0200
+++ b/rhodecode/model/db.py	Thu Mar 22 02:44:42 2012 +0200
@@ -145,7 +145,12 @@
     def delete(cls, id_):
         obj = cls.query().get(id_)
         Session.delete(obj)
-
+    
+    def __repr__(self):
+        if hasattr(self, '__unicode__'):
+            # python repr needs to return str
+            return safe_str(self.__unicode__())
+        return '<DB:%s>' % (self.__class__.__name__)
 
 class RhodeCodeSetting(Base, BaseModel):
     __tablename__ = 'rhodecode_settings'
@@ -183,8 +188,8 @@
         """
         self._app_settings_value = safe_unicode(val)
 
-    def __repr__(self):
-        return "<%s('%s:%s')>" % (
+    def __unicode__(self):
+        return u"<%s('%s:%s')>" % (
             self.__class__.__name__,
             self.app_settings_name, self.app_settings_value
         )
@@ -333,8 +338,8 @@
     def is_admin(self):
         return self.admin
 
-    def __repr__(self):
-        return "<%s('id:%s:%s')>" % (self.__class__.__name__,
+    def __unicode__(self):
+        return u"<%s('id:%s:%s')>" % (self.__class__.__name__,
                                      self.user_id, self.username)
 
     @classmethod
@@ -429,8 +434,8 @@
     users_group_to_perm = relationship('UsersGroupToPerm', cascade='all')
     users_group_repo_to_perm = relationship('UsersGroupRepoToPerm', cascade='all')
 
-    def __repr__(self):
-        return '<userGroup(%s)>' % (self.users_group_name)
+    def __unicode__(self):
+        return u'<userGroup(%s)>' % (self.users_group_name)
 
     @classmethod
     def get_by_group_name(cls, group_name, cache=False,
@@ -508,9 +513,9 @@
 
     logs = relationship('UserLog')
 
-    def __repr__(self):
-        return "<%s('%s:%s')>" % (self.__class__.__name__,
-                                  self.repo_id, self.repo_name)
+    def __unicode__(self):
+        return u"<%s('%s:%s')>" % (self.__class__.__name__,self.repo_id, 
+                                   self.repo_name)
 
     @classmethod
     def url_sep(cls):
@@ -748,8 +753,8 @@
         self.group_name = group_name
         self.parent_group = parent_group
 
-    def __repr__(self):
-        return "<%s('%s:%s')>" % (self.__class__.__name__, self.group_id,
+    def __unicode__(self):
+        return u"<%s('%s:%s')>" % (self.__class__.__name__, self.group_id,
                                   self.group_name)
 
     @classmethod
@@ -865,8 +870,8 @@
     permission_name = Column("permission_name", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     permission_longname = Column("permission_longname", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
 
-    def __repr__(self):
-        return "<%s('%s:%s')>" % (
+    def __unicode__(self):
+        return u"<%s('%s:%s')>" % (
             self.__class__.__name__, self.permission_id, self.permission_name
         )
 
@@ -918,8 +923,8 @@
         Session.add(n)
         return n
 
-    def __repr__(self):
-        return '<user:%s => %s >' % (self.user, self.repository)
+    def __unicode__(self):
+        return u'<user:%s => %s >' % (self.user, self.repository)
 
 
 class UserToPerm(Base, BaseModel):
@@ -962,8 +967,8 @@
         Session.add(n)
         return n
 
-    def __repr__(self):
-        return '<userGroup:%s => %s >' % (self.users_group, self.repository)
+    def __unicode__(self):
+        return u'<userGroup:%s => %s >' % (self.users_group, self.repository)
 
 
 class UsersGroupToPerm(Base, BaseModel):
@@ -1076,8 +1081,8 @@
         self.cache_args = cache_args
         self.cache_active = False
 
-    def __repr__(self):
-        return "<%s('%s:%s')>" % (self.__class__.__name__,
+    def __unicode__(self):
+        return u"<%s('%s:%s')>" % (self.__class__.__name__,
                                   self.cache_id, self.cache_key)
     @classmethod
     def clear_cache(cls):
--- a/rhodecode/model/notification.py	Thu Mar 22 02:35:50 2012 +0200
+++ b/rhodecode/model/notification.py	Thu Mar 22 02:44:42 2012 +0200
@@ -112,6 +112,7 @@
             kwargs.update(email_kwargs)
             email_body_html = EmailNotificationModel()\
                                 .get_email_tmpl(type_, **kwargs)
+
             run_task(tasks.send_email, rec.email, email_subject, email_body,
                      email_body_html)
 
@@ -183,6 +184,7 @@
         else:
             DTF = lambda d: datetime.datetime.strftime(d, DATETIME_FORMAT)
             when = DTF(notification.created_on)
+
         data = dict(
             user=notification.created_by_user.username,
             action=_map[notification.type_], when=when,