diff options
author | Nicholas Car <nicholas.car@surroundaustralia.com> | 2020-12-28 10:25:39 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-28 10:25:39 +1000 |
commit | 6c294aa341dfcbd41a34dbb3b07b4701f71d0c3e (patch) | |
tree | d674e48e51f7eddeafa8fa0b47f254007f57148b | |
parent | 009dc24f413fb6136e0ffbb78c4963749f8999bb (diff) | |
parent | 0f191aede2e9a12d00fad737c8a56062c50952a0 (diff) | |
download | rdflib-6c294aa341dfcbd41a34dbb3b07b4701f71d0c3e.tar.gz |
Merge pull request #1193 from FlorianLudwig/sparql-timezone
do not use current time in sparql TIMEZONE
-rw-r--r-- | rdflib/plugins/sparql/operators.py | 2 | ||||
-rw-r--r-- | rdflib/plugins/sparql/sparql.py | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/rdflib/plugins/sparql/operators.py b/rdflib/plugins/sparql/operators.py index a0e9d314..126efdd9 100644 --- a/rdflib/plugins/sparql/operators.py +++ b/rdflib/plugins/sparql/operators.py @@ -492,7 +492,7 @@ def Builtin_TIMEZONE(e, ctx): if not dt.tzinfo: raise SPARQLError("datatime has no timezone: %r" % dt) - delta = dt.tzinfo.utcoffset(ctx.now) + delta = dt.utcoffset() d = delta.days s = delta.seconds diff --git a/rdflib/plugins/sparql/sparql.py b/rdflib/plugins/sparql/sparql.py index 5df3db68..b75b8054 100644 --- a/rdflib/plugins/sparql/sparql.py +++ b/rdflib/plugins/sparql/sparql.py @@ -220,7 +220,7 @@ class FrozenBindings(FrozenDict): return FrozenBindings(self.ctx, (x for x in self.items() if x[0] in these)) -class QueryContext: +class QueryContext(object): """ Query context - passed along when evaluating the query """ @@ -242,10 +242,16 @@ class QueryContext: self.graph = graph self.prologue = None - self.now = datetime.datetime.now(isodate.tzinfo.UTC) + self._now = None self.bnodes = collections.defaultdict(BNode) + @property + def now(self) -> datetime.datetime: + if self._now is None: + self._now = datetime.datetime.now(isodate.tzinfo.UTC) + return self._now + def clone(self, bindings=None): r = QueryContext( self._dataset if self._dataset is not None else self.graph, |