コード例 #1
0
    def test_export_exclude(self):
        m = Metadata()
        b = rdflib.BNode()
        m.add(RDF_NAMESPACES.CTS.title, "Title")
        m.add(RDF_NAMESPACES.CTS.title, "Title", lang="eng")
        m.add(RDF_NAMESPACES.CTS.title, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.CTS.description, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.CTS.description, "SubTitle", lang="fre")
        m.add(RDF_NAMESPACES.DTS.description, "SubTitle", lang="eng")
        m.add(RDF_NAMESPACES.DTS.description, "SubTitle", lang="fre")
        m.graph.add((b, RDF_NAMESPACES.TEI.nobodycares, m.asNode()))

        self.assertEqual(
            m.export(Mimetypes.JSON.Std, exclude=[RDF_NAMESPACES.CTS.title]), {
                'https://w3id.org/dts/api#description': {
                    'fre': 'Subtitle',
                    'eng': 'Subtitle'
                },
                'http://chs.harvard.edu/xmlns/cts/description': {
                    'fre': 'Subtitle',
                    'eng': 'Subtitle'
                }
            })
        self.assertEqual(
            m.export(Mimetypes.JSON.Std, exclude=[RDF_NAMESPACES.CTS]), {
                'https://w3id.org/dts/api#description': {
                    'fre': 'Subtitle',
                    'eng': 'Subtitle'
                }
            })
コード例 #2
0
ファイル: test_metadata.py プロジェクト: Capitains/MyCapytain
    def test_export_jsonld_withns(self):
        """ With no namespace """
        b = Metadata()
        m3 = Metadatum("desc", [("fre", "Un bon livre")], namespace=NAMESPACES.CTS)
        m4 = Metadatum("title", [("eng", "A title"), ("fre", "Un titre")], namespace=NAMESPACES.CTS)
        m5 = Metadatum("dc:editor", [("eng", "An Editor"), ("fre", "Un Editeur")])
        b[("desc", "title", "dc:editor")] = (m3, m4, m5)

        six.assertCountEqual(
            self,
            b.export(Mimetypes.JSON.DTS.Std),
            [
                {
                    'http://chs.harvard.edu/xmlns/cts/desc': 'Un bon livre',
                    'http://chs.harvard.edu/xmlns/cts/title': 'Un titre',
                    'http://purl.org/dc/elements/1.1/editor': "Un Editeur",
                    '@language': 'fre'
                },
                {
                    'http://chs.harvard.edu/xmlns/cts/title': 'A title',
                    'http://purl.org/dc/elements/1.1/editor': "An Editor",
                    '@language': 'eng'
                }
            ],
            "JSON LD Expression should take into account prefixes"
        )
コード例 #3
0
ファイル: test_metadata.py プロジェクト: Capitains/MyCapytain
    def test_export_jsonld(self):
        b = Metadata()
        m3 = Metadatum("desc", [("fre", "Omelette")])
        m4 = Metadatum("title", [("eng", "ttl"), ("fre", "titre")])
        m5 = Metadatum("dc:editor", [("eng", "Captain Hook"), ("fre", "Capitaine Crochet")])
        b[("desc", "title", "dc:editor")] = (m3, m4, m5)

        six.assertCountEqual(
            self,
            b.export(Mimetypes.JSON.DTS),
            [
                {
                    'http://chs.harvard.edu/xmlns/cts/desc': 'Omelette',
                    'http://chs.harvard.edu/xmlns/cts/title': 'titre',
                    'http://purl.org/dc/elements/1.1/editor': "Capitaine Crochet",
                    '@language': 'fre'
                },
                {
                    'http://chs.harvard.edu/xmlns/cts/title': 'ttl',
                    'http://purl.org/dc/elements/1.1/editor': "Captain Hook",
                    '@language': 'eng'
                }
            ],
            "JSON LD Expression should take into account prefixes"
        )
コード例 #4
0
    def test_export_multiple_values_JSON(self):
        m = Metadata()
        m.add(DC.contributor, "Me", lang="eng")
        m.add(DC.contributor, "You", lang="eng")
        m.add(DC.contributor, "Ich", lang="deu")
        m.add(DC.contributor, "Du", lang="deu")

        self.assertCountEqual(
            m.export(Mimetypes.JSON.Std), {
                'http://purl.org/dc/elements/1.1/contributor': {
                    'deu': ['Du', 'Ich'],
                    'eng': ['Me', 'You']
                }
            })
コード例 #5
0
ファイル: test_metadata.py プロジェクト: Capitains/MyCapytain
    def test_export_xmlRDF_withNs(self):
        b = Metadata()
        m3 = Metadatum("desc", [("fre", "Omelette")], namespace=NAMESPACES.CTS)
        m4 = Metadatum("title", [("eng", "ttl"), ("fre", "titre")], namespace=NAMESPACES.CTS)
        m5 = Metadatum("dc:editor", [("eng", "Captain Hook"), ("fre", "Capitaine Crochet")])
        b[("desc", "title", "dc:editor")] = (m3, m4, m5)
        self.assertEqual(
            b.export(Mimetypes.XML.RDF),
            """<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description>
    <editor xmlns="http://purl.org/dc/elements/1.1/" xml:lang="eng">Captain Hook</editor><editor xmlns="http://purl.org/dc/elements/1.1/" xml:lang="fre">Capitaine Crochet</editor><desc xmlns="http://chs.harvard.edu/xmlns/cts/" xml:lang="fre">Omelette</desc><title xmlns="http://chs.harvard.edu/xmlns/cts/" xml:lang="eng">ttl</title><title xmlns="http://chs.harvard.edu/xmlns/cts/" xml:lang="fre">titre</title>
  </rdf:Description>
</rdf:RDF>""",
            "XML/RDF Expression should take into account prefixes"
        )
コード例 #6
0
ファイル: test_metadata.py プロジェクト: Capitains/MyCapytain
    def test_export_json(self):
        b = Metadata()
        m3 = Metadatum("desc", [("fre", "Omelette")])
        m4 = Metadatum("title", [("eng", "ttl"), ("fre", "titre")])
        m5 = Metadatum("dc:editor", [("eng", "Captain Hook"), ("fre", "Capitaine Crochet")])
        b[("desc", "title", "dc:editor")] = (m3, m4, m5)

        six.assertCountEqual(
            self,
            b.export(Mimetypes.JSON.Std),
            {'dc:editor': {'default': 'eng', 'langs': [('eng', 'Captain Hook'), ('fre', 'Capitaine Crochet')],
                           'name': 'dc:editor'},
             'title': {'default': 'eng', 'langs': [('eng', 'ttl'), ('fre', 'titre')], 'name': 'title'},
             'desc': {'default': 'fre', 'langs': [('fre', 'Omelette')], 'name': 'desc'}},
            "JSON LD Expression should take into account prefixes"
        )