diff options
author | Jacob Mason <jacoblmason@gmail.com> | 2010-08-14 18:33:07 -0500 |
---|---|---|
committer | Jacob Mason <jacoblmason@gmail.com> | 2010-08-14 18:33:07 -0500 |
commit | 34379fedb7a579ebfc1a1888bef60e882e3885ba (patch) | |
tree | 8a08acc16ea8e75f11194e1e793b19541ff3d73d /sphinx/websupport/storage/sqlalchemystorage.py | |
parent | a52fd809bf0eecefc1b5aba3c05d6d56a1f66538 (diff) | |
download | sphinx-git-34379fedb7a579ebfc1a1888bef60e882e3885ba.tar.gz |
only add node if it doesn't already exist
Diffstat (limited to 'sphinx/websupport/storage/sqlalchemystorage.py')
-rw-r--r-- | sphinx/websupport/storage/sqlalchemystorage.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sphinx/websupport/storage/sqlalchemystorage.py b/sphinx/websupport/storage/sqlalchemystorage.py index 174bef6e5..c775f3bb4 100644 --- a/sphinx/websupport/storage/sqlalchemystorage.py +++ b/sphinx/websupport/storage/sqlalchemystorage.py @@ -33,11 +33,16 @@ class SQLAlchemyStorage(StorageBackend): def pre_build(self): self.build_session = Session() + def has_node(self, id): + session = Session() + node = session.query(Node).filter(Node.id == id).first() + session.close() + return True if node else False + def add_node(self, id, document, source): node = Node(id, document, source) self.build_session.add(node) self.build_session.flush() - return node def post_build(self): self.build_session.commit() |