Do not try to get private attributes for comments
authorBoris Bobrov <breton@cynicmansion.ru>
Sun, 7 Aug 2016 23:26:25 +0000 (02:26 +0300)
committerBoris Bobrov <breton@cynicmansion.ru>
Sun, 7 Aug 2016 23:26:25 +0000 (02:26 +0300)
Most probably, they are sqlalchemy's!

mediagoblin/db/models.py

index 6448de36df0515f61552149de56dcb44998c5326..0a20278fe1de08664f2ebc1428eea2e465aaecc8 100644 (file)
@@ -998,10 +998,17 @@ class Comment(Base):
         return self.comment().get_actor  # noqa
 
     def __getattr__(self, attr):
+        if attr.startswith('_'):
+            # if attr starts with '_', then it's probably some internal
+            # sqlalchemy variable. Since __getattr__ is called when
+            # non-existing attributes are being accessed, we should not try to
+            # fetch it from self.comment()
+            raise AttributeError
         try:
+            _log.debug('Old attr is being accessed: {0}'.format(attr))
             return getattr(self.comment(), attr)  # noqa
         except Exception as e:
-            print(e)
+            _log.error(e)
             raise
 
 class TextComment(Base, TextCommentMixin, CommentingMixin):