From: Diane Trout Date: Wed, 13 Jul 2011 21:27:34 +0000 (-0700) Subject: Make sure we can roundtrip unicode characters via converting to utf-8 X-Git-Tag: 0.5.2~1 X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=commitdiff_plain;h=2ee537360829372d5d7ae4adfbc13f5b61d4dd3a Make sure we can roundtrip unicode characters via converting to utf-8 --- diff --git a/htsworkflow/util/rdfhelp.py b/htsworkflow/util/rdfhelp.py index 5c73d98..4a40f0b 100644 --- a/htsworkflow/util/rdfhelp.py +++ b/htsworkflow/util/rdfhelp.py @@ -67,7 +67,7 @@ def toTypedNode(value): if value_type is not None: node = RDF.Node(literal=value, datatype=value_type) else: - node = RDF.Node(literal=value) + node = RDF.Node(literal=unicode(value).encode('utf-8')) return node def fromTypedNode(node): diff --git a/htsworkflow/util/test/test_rdfhelp.py b/htsworkflow/util/test/test_rdfhelp.py index 1012252..b173d5a 100644 --- a/htsworkflow/util/test/test_rdfhelp.py +++ b/htsworkflow/util/test/test_rdfhelp.py @@ -1,6 +1,7 @@ import unittest +import types -from htsworkflow.util.rdfhelp import toTypedNode, blankOrUri +from htsworkflow.util.rdfhelp import blankOrUri, toTypedNode, fromTypedNode try: import RDF @@ -31,6 +32,12 @@ try: node = blankOrUri(s) self.failUnlessEqual(node.is_resource(), True) self.failUnlessEqual(node, s) + + def test_unicode_node_roundtrip(self): + literal = u'\u5927' + roundtrip = fromTypedNode(toTypedNode(literal)) + self.failUnlessEqual(roundtrip, literal) + self.failUnlessEqual(type(roundtrip), types.UnicodeType) def suite(): return unittest.makeSuite(testRdfHelp, 'test')