Mercurial > code > home > repos > homeauto
view lib/stategraph.py @ 1573:d68e20c831f7 dependabot/pip/service/wifi/lxml-4.6.2
Bump lxml from 4.3.3 to 4.6.2 in /service/wifi
Bumps [lxml](https://github.com/lxml/lxml) from 4.3.3 to 4.6.2.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.3.3...lxml-4.6.2)
Signed-off-by: dependabot[bot] <support@github.com>
author | dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
---|---|
date | Thu, 07 Jan 2021 22:55:33 +0000 |
parents | b9c6b8724d43 |
children |
line wrap: on
line source
import datetime, os, inspect from dateutil.tz import tzlocal from rdflib import Graph, Namespace, Literal DCTERMS = Namespace("http://purl.org/dc/terms/") class StateGraph(object): """ helper to create a graph with some of the current state of the world """ def __init__(self, ctx): """ note that we put the time of the __init__ call into the graph as its dcterms:modified time. """ self.g = Graph() self.ctx = ctx try: requestingFile = inspect.stack()[1][1] self.g.add((ctx, DCTERMS['creator'], Literal(os.path.abspath(requestingFile)))) except IndexError: pass self.g.add((ctx, DCTERMS['modified'], Literal(datetime.datetime.now(tzlocal())))) def add(self, *args, **kw): self.g.add(*args, **kw) def ntLines(self): nt = self.g.serialize(format='nt') # this canonical order is just for debugging, so the lines are # stable when you refresh the file repeatedly return sorted(filter(None, nt.splitlines())) def asTrig(self): return "%s {\n%s\n}\n" % (self.ctx.n3(), '\n'.join(self.ntLines())) def asJsonLd(self): return self.g.serialize(format='json-ld') def asAccepted(self, acceptHeader): if acceptHeader == 'application/nquads': return 'application/nquads', '\n'.join( line.strip().rstrip('.') + '%s .' % self.ctx.n3() for line in self.ntLines()) else: return 'application/x-trig', self.asTrig()