diff options
author | Jörn Hees <joernhees@users.noreply.github.com> | 2015-03-06 16:53:27 +0100 |
---|---|---|
committer | Jörn Hees <joernhees@users.noreply.github.com> | 2015-03-06 16:53:27 +0100 |
commit | a33537b7a4726ba5852479c2c206041dcd363bbb (patch) | |
tree | 2ccc99e64d887e30235fe866e5bb60f1cc708b2e | |
parent | 78d80473ce9a20d22513ff65f6c139439a55831c (diff) | |
parent | e69d87374db8f0d89553057f71c57a6b0e716b70 (diff) | |
download | rdflib-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.py | 34 |
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): |