X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=blobdiff_plain;f=htsworkflow%2Futil%2Frdfhelp.py;fp=htsworkflow%2Futil%2Frdfhelp.py;h=76cde06e97d10593e9eef6d166df59e0329270d6;hp=cbe2a9188b091d0cb5f22fa99069345728204ee9;hb=53ebb47e86e81ce349d4ef4e16aef94be93486ea;hpb=4262586d10cc0cc227390873b301b55244204c11 diff --git a/htsworkflow/util/rdfhelp.py b/htsworkflow/util/rdfhelp.py index cbe2a91..76cde06 100644 --- a/htsworkflow/util/rdfhelp.py +++ b/htsworkflow/util/rdfhelp.py @@ -3,8 +3,8 @@ import collections from datetime import datetime from glob import glob -from urlparse import urlparse, urlunparse -from urllib2 import urlopen +from urllib.parse import urlparse, urlunparse +from urllib.request import urlopen import logging import os import sys @@ -42,9 +42,9 @@ def display_query_results(results): """A very simple display of sparql query results showing name value pairs """ for row in results: - for k, v in row.items()[::-1]: - print "{0}: {1}".format(k, v) - print + for k, v in list(row.items())[::-1]: + print("{0}: {1}".format(k, v)) + print() def html_query_results(result_stream): from django.conf import settings @@ -65,11 +65,11 @@ def html_query_results(result_stream): for row in result_stream: new_row = collections.OrderedDict() row_urls = [] - for k,v in row.items(): + for k,v in list(row.items()): new_row[k] = Simplified(v) results.append(new_row) context = Context({'results': results,}) - print template.render(context) + print(template.render(context)) def blankOrUri(value=None): """Return a blank node for None or a resource node for strings. @@ -77,7 +77,7 @@ def blankOrUri(value=None): node = None if value is None: node = RDF.Node() - elif type(value) in types.StringTypes: + elif type(value) in str: node = RDF.Node(uri_string=value) elif isinstance(value, RDF.Node): node = value @@ -88,18 +88,18 @@ def blankOrUri(value=None): def toTypedNode(value, language="en"): """Convert a python variable to a RDF Node with its closest xsd type """ - if type(value) == types.BooleanType: + if type(value) == bool: value_type = xsdNS['boolean'].uri if value: - value = u'1' + value = '1' else: - value = u'0' - elif type(value) in (types.IntType, types.LongType): + value = '0' + elif type(value) in (int, int): value_type = xsdNS['decimal'].uri - value = unicode(value) - elif type(value) == types.FloatType: + value = str(value) + elif type(value) == float: value_type = xsdNS['float'].uri - value = unicode(value) + value = str(value) elif isinstance(value, datetime): value_type = xsdNS['dateTime'].uri if value.microsecond == 0: @@ -108,12 +108,12 @@ def toTypedNode(value, language="en"): value = value.strftime(ISOFORMAT_MS) else: value_type = None - value = unicode(value) + value = str(value) if value_type is not None: node = RDF.Node(literal=value, datatype=value_type) else: - node = RDF.Node(literal=unicode(value).encode('utf-8'), language=language) + node = RDF.Node(literal=str(value).encode('utf-8'), language=language) return node @@ -147,7 +147,7 @@ def fromTypedNode(node): elif value_type in ('dateTime'): try: return datetime.strptime(literal, ISOFORMAT_MS) - except ValueError, _: + except ValueError as _: return datetime.strptime(literal, ISOFORMAT_SHORT) return literal @@ -249,7 +249,7 @@ def get_model(model_name=None, directory=None): def load_into_model(model, parser_name, path, ns=None): - if type(ns) in types.StringTypes: + if type(ns) in str: ns = RDF.Uri(ns) if isinstance(path, RDF.Node): @@ -276,7 +276,7 @@ def load_into_model(model, parser_name, path, ns=None): retries -= 1 statements = rdf_parser.parse_as_stream(url, ns) retries = 0 - except RDF.RedlandError, e: + except RDF.RedlandError as e: errmsg = "RDF.RedlandError: {0} {1} tries remaining" logger.error(errmsg.format(str(e), retries)) @@ -296,7 +296,7 @@ def load_string_into_model(model, parser_name, data, ns=None): def fixup_namespace(ns): if ns is None: ns = RDF.Uri("http://localhost/") - elif type(ns) in types.StringTypes: + elif type(ns) in str: ns = RDF.Uri(ns) elif not(isinstance(ns, RDF.Uri)): errmsg = "Namespace should be string or uri not {0}" @@ -330,7 +330,7 @@ def add_default_schemas(model, schema_path=None): add_schema(model, schema, namespace) if schema_path: - if type(schema_path) in types.StringTypes: + if type(schema_path) in str: schema_path = [schema_path] for path in schema_path: