コード例 #1
0
ファイル: test_url.py プロジェクト: dmr/Ldtools
 def test_hash_or_slash_uri_exceptions(self):
     test_cases = [
     ]
     for test, result in test_cases:
         print(urlparse.urlparse(test))
         test = rdflib.URIRef(test)
         result = rdflib.URIRef(result)
         self.assertEqual(get_slash_url(test), result, msg=test)
コード例 #2
0
ファイル: test_url.py プロジェクト: dmr/Ldtools
    def test_hash_or_slash_uri_result(self):
        test_cases = [
            ("http://creativecommons.org/licenses/by-nc/3.0/",
             "http://creativecommons.org/licenses/by-nc/3.0/"),

            ("http://www.ifrade.es/#frade", "http://www.ifrade.es/"),
        ]
        for test, result in test_cases:
            print(urlparse.urlparse(test))
            test = test
            result = rdflib.URIRef(result)
            self.assertEqual(get_slash_url(test), result, msg=test)
コード例 #3
0
ファイル: resource.py プロジェクト: dmr/Ldtools
    def _add_property(self, predicate, obj, namespace_short_notation_reverse_dict):
        assert isinstance(predicate, rdflib.URIRef), "Not an URIRef: %s" % predicate
        assert hasattr(predicate, "n3"), "property %s is not a rdflib object" % predicate

        # add Resource object directly instead of uriref
        # hash function is important for that!
        is_resource = False
        if isinstance(obj, rdflib.BNode):
            is_resource = True
        elif isinstance(obj, rdflib.URIRef):
            if not isinstance(obj, rdflib.Literal):
                o = urlparse.urlparse(obj)
                if o.scheme == "http":
                    is_resource = True
                else:
                    logger.debug("Not a Resource URI because not valid: %s "
                                 "--> should be rdflib.Literals?" % obj)

        predicate = predicate2pyattr(
            predicate, namespace_short_notation_reverse_dict)

        if is_resource:
            logger.debug(
                "%s . %s = Resource( %s )" % (self._uri, predicate, obj))
            obj, _created = Resource.objects.get_or_create(
                uri=obj, origin=self._origin)

            if not hasattr(obj, "_reverse"):
                obj._reverse = {}
            if predicate in obj._reverse:
                if not isinstance(obj._reverse[predicate], set):
                    obj._reverse[predicate] = set([obj._reverse[predicate]])
                obj._reverse[predicate].add(self)
            else:
                obj._reverse[predicate] = self

        if predicate in self.__dict__:
            attr = self.__dict__[predicate]
            if not type(attr) == set:
                self.__dict__[predicate] = set([attr])
                attr = self.__dict__[predicate]
            attr.add(obj)
            assert obj in self.__dict__[predicate]
        else:
            self.__dict__[predicate] = obj

        assert predicate in self.__dict__
コード例 #4
0
 def test_hash1(self):
     uri = "http://www.cwi.nl:80/%7Eguido/Python.html"
     o = urlparse.urlparse(uri)
     self.assert_(not o.fragment)
コード例 #5
0
 def test_hash2(self):
     uri = "http://www.cwi.nl:80/%7Eguido/Python.html#fragm"
     o = urlparse.urlparse(uri)
     self.assertEqual(o.fragment, "fragm")