summaryrefslogtreecommitdiff
path: root/sphinx/websupport/storage/sqlalchemystorage.py
diff options
context:
space:
mode:
authorJacob Mason <jacoblmason@gmail.com>2010-08-14 18:33:07 -0500
committerJacob Mason <jacoblmason@gmail.com>2010-08-14 18:33:07 -0500
commit34379fedb7a579ebfc1a1888bef60e882e3885ba (patch)
tree8a08acc16ea8e75f11194e1e793b19541ff3d73d /sphinx/websupport/storage/sqlalchemystorage.py
parenta52fd809bf0eecefc1b5aba3c05d6d56a1f66538 (diff)
downloadsphinx-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.py7
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()