Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/creactistore/_templates/lib/rdflib/plugins/serializers/nt.py
diff options
context:
space:
mode:
Diffstat (limited to 'creactistore/_templates/lib/rdflib/plugins/serializers/nt.py')
-rw-r--r--creactistore/_templates/lib/rdflib/plugins/serializers/nt.py76
1 files changed, 0 insertions, 76 deletions
diff --git a/creactistore/_templates/lib/rdflib/plugins/serializers/nt.py b/creactistore/_templates/lib/rdflib/plugins/serializers/nt.py
deleted file mode 100644
index bbbe720..0000000
--- a/creactistore/_templates/lib/rdflib/plugins/serializers/nt.py
+++ /dev/null
@@ -1,76 +0,0 @@
-"""
-N-Triples RDF graph serializer for RDFLib.
-See <http://www.w3.org/TR/rdf-testcases/#ntriples> for details about the
-format.
-"""
-from rdflib.serializer import Serializer
-from rdflib.py3compat import b
-import warnings
-
-__all__ = ['NTSerializer']
-
-class NTSerializer(Serializer):
- """
- Serializes RDF graphs to NTriples format.
- """
-
- def serialize(self, stream, base=None, encoding=None, **args):
- if base is not None:
- warnings.warn("NTSerializer does not support base.")
- if encoding is not None:
- warnings.warn("NTSerializer does not use custom encoding.")
- encoding = self.encoding
- for triple in self.store:
- stream.write(_nt_row(triple).encode(encoding, "replace"))
- stream.write(b("\n"))
-
-
-def _nt_row(triple):
- return u"%s %s %s .\n" % (triple[0].n3(),
- triple[1].n3(),
- _xmlcharref_encode(triple[2].n3()))
-
-# from <http://code.activestate.com/recipes/303668/>
-def _xmlcharref_encode(unicode_data, encoding="ascii"):
- """Emulate Python 2.3's 'xmlcharrefreplace' encoding error handler."""
- chars = []
-
- # nothing to do about xmlchars, but replace newlines with escapes:
- unicode_data=unicode_data.replace("\n","\\n")
- if unicode_data.startswith('"""'):
- # Updated with Bernhard Schandl's patch...
- # unicode_data = unicode_data.replace('"""', '"') # original
-
- last_triplequote_pos = unicode_data.rfind('"""')
- payload = unicode_data[3:last_triplequote_pos]
- trail = unicode_data[last_triplequote_pos+3:]
-
- # fix three-quotes encoding
- payload = payload.replace('\\"""', '"""')
-
- # corner case: if string ends with " it is already encoded.
- # so we need to de-escape it before it will be re-escaped in the next step.
- if payload.endswith('\\"'):
- payload = payload.replace('\\"', '"')
-
- # escape quotes in payload
- payload = payload.replace('"', '\\"')
-
- # reconstruct result using single quotes
- unicode_data = '"%s"%s' % (payload, trail)
-
- # Step through the unicode_data string one character at a time in
- # order to catch unencodable characters:
- for char in unicode_data:
- try:
- char.encode(encoding, 'strict')
- except UnicodeError:
- if ord(char) <= 0xFFFF:
- chars.append('\\u%04X' % ord(char))
- else:
- chars.append('\\U%08X' % ord(char))
- else:
- chars.append(char)
-
- return ''.join(chars)
-