summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörn Hees <joernhees@users.noreply.github.com>2015-03-06 16:53:27 +0100
committerJörn Hees <joernhees@users.noreply.github.com>2015-03-06 16:53:27 +0100
commita33537b7a4726ba5852479c2c206041dcd363bbb (patch)
tree2ccc99e64d887e30235fe866e5bb60f1cc708b2e
parent78d80473ce9a20d22513ff65f6c139439a55831c (diff)
parente69d87374db8f0d89553057f71c57a6b0e716b70 (diff)
downloadrdflib-a33537b7a4726ba5852479c2c206041dcd363bbb.tar.gz
Merge pull request #469 from bcroq/AuditableStore-try-remove
Don't check for ops in reverseOps before removing it, just try it.
-rw-r--r--rdflib/plugins/stores/auditable.py34
1 files changed, 15 insertions, 19 deletions
diff --git a/rdflib/plugins/stores/auditable.py b/rdflib/plugins/stores/auditable.py
index 356d87e5..6c42f0bc 100644
--- a/rdflib/plugins/stores/auditable.py
+++ b/rdflib/plugins/stores/auditable.py
@@ -56,9 +56,10 @@ class AuditableStore(Store):
context = context.__class__(self.store, context.identifier) if context is not None else None
ctxId = context.identifier if context is not None else None
self.reverseOps.append((s, p, o, ctxId, 'remove'))
- if (s, p, o, ctxId, 'add') in self.reverseOps:
- self.reverseOps.remove(
- (s, p, o, context, 'add'))
+ try:
+ self.reverseOps.remove((s, p, o, ctxId, 'add'))
+ except ValueError:
+ pass
self.store.add((s, p, o), context, quoted)
def remove(self, (subject, predicate, object_), context=None):
@@ -72,26 +73,21 @@ class AuditableStore(Store):
if None in [subject, predicate, object_, context]:
if ctxId:
for s, p, o in context.triples((subject, predicate, object_)):
- if (s, p, o, ctxId, 'remove') in self.reverseOps:
+ try:
self.reverseOps.remove((s, p, o, ctxId, 'remove'))
- else:
+ except ValueError:
self.reverseOps.append((s, p, o, ctxId, 'add'))
else:
- for s, p, o, ctx in ConjunctiveGraph(
- self.store).quads((subject, predicate, object_)):
- if (s, p, o, ctx.identifier, 'remove') in self.reverseOps:
- self.reverseOps.remove(
- (s, p, o, ctx.identifier, 'remove'))
- else:
- self.reverseOps.append(
- (s, p, o, ctx.identifier, 'add'))
-
- elif (subject, predicate, object_, ctxId, 'add') in self.reverseOps:
- self.reverseOps.remove(
- (subject, predicate, object_, ctxId, 'add'))
+ for s, p, o, ctx in ConjunctiveGraph(self.store).quads((subject, predicate, object_)):
+ try:
+ self.reverseOps.remove((s, p, o, ctx.identifier, 'remove'))
+ except ValueError:
+ self.reverseOps.append((s, p, o, ctx.identifier, 'add'))
else:
- self.reverseOps.append(
- (subject, predicate, object_, ctxId, 'add'))
+ try:
+ self.reverseOps.remove((subject, predicate, object_, ctxId, 'add'))
+ except ValueError:
+ self.reverseOps.append((subject, predicate, object_, ctxId, 'add'))
self.store.remove((subject, predicate, object_), context)
def triples(self, triple, context=None):