diff options
author | Jacob Mason <jacoblmason@gmail.com> | 2010-08-09 15:22:52 -0500 |
---|---|---|
committer | Jacob Mason <jacoblmason@gmail.com> | 2010-08-09 15:22:52 -0500 |
commit | 3b3e001eb970846e4711e9a0b93d2296c6a2e29b (patch) | |
tree | 2e143366b87cdd9d6724377e732ad3064bb6c1be /sphinx/websupport/storage/sqlalchemystorage.py | |
parent | 3f29ff6204501bc9ff3f1c763c5c90148bd333ca (diff) | |
download | sphinx-git-3b3e001eb970846e4711e9a0b93d2296c6a2e29b.tar.gz |
added more comments/docstrings
Diffstat (limited to 'sphinx/websupport/storage/sqlalchemystorage.py')
-rw-r--r-- | sphinx/websupport/storage/sqlalchemystorage.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sphinx/websupport/storage/sqlalchemystorage.py b/sphinx/websupport/storage/sqlalchemystorage.py index 7a906dcba..553450d32 100644 --- a/sphinx/websupport/storage/sqlalchemystorage.py +++ b/sphinx/websupport/storage/sqlalchemystorage.py @@ -18,6 +18,9 @@ from sphinx.websupport.storage.db import Base, Node, Comment, CommentVote,\ from sphinx.websupport.storage.differ import CombinedHtmlDiff class SQLAlchemyStorage(StorageBackend): + """A :class:`~sphinx.websupport.storage.StorageBackend` using + SQLAlchemy. + """ def __init__(self, engine): self.engine = engine Base.metadata.bind = engine @@ -40,7 +43,8 @@ class SQLAlchemyStorage(StorageBackend): def add_comment(self, text, displayed, username, time, proposal, node_id, parent_id, moderator): session = Session() - + proposal_diff = None + if node_id and proposal: node = session.query(Node).filter(Node.id == node_id).one() differ = CombinedHtmlDiff() @@ -51,19 +55,18 @@ class SQLAlchemyStorage(StorageBackend): if not parent.displayed: raise CommentNotAllowedError( "Can't add child to a parent that is not displayed") - proposal_diff = None - else: - proposal_diff = None comment = Comment(text, displayed, username, 0, time or datetime.now(), proposal, proposal_diff) session.add(comment) session.flush() + # We have to flush the session before setting the path so the + # Comment has an id. comment.set_path(node_id, parent_id) session.commit() - comment = comment.serializable() + d = comment.serializable() session.close() - return comment + return d def delete_comment(self, comment_id, username, moderator): session = Session() @@ -72,6 +75,7 @@ class SQLAlchemyStorage(StorageBackend): if moderator or comment.username == username: comment.username = '[deleted]' comment.text = '[deleted]' + comment.proposal = '' session.commit() session.close() else: |