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):
import unittest
+import types
-from htsworkflow.util.rdfhelp import toTypedNode, blankOrUri
+from htsworkflow.util.rdfhelp import blankOrUri, toTypedNode, fromTypedNode
try:
import RDF
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')