Пример #1
0
 def test_get_capabilities_nocites(self):
     """ Check Get Capabilities latinLit data"""
     Repository = CTSCapitainsLocalResolver(
         ["./tests/testing_data/latinLit"]
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(urn="urn:cts:latinLit:stoa0045.stoa008.perseus-lat2")[0]), 0,
         "Texts without citations were ignored"
     )
Пример #2
0
 def test_text_resource(self):
     """ Test to get the text resource to perform other queries """
     Repository = CTSCapitainsLocalResolver(["./tests/testing_data/farsiLit"])
     text, metadata = Repository.__getText__("urn:cts:farsiLit:hafez.divan.perseus-eng1")
     self.assertEqual(
         len(text.citation), 4,
         "Object has a citation property of length 4"
     )
     self.assertEqual(
         text.getTextualNode(Reference("1.1.1.1")).export(output=Mimetypes.PLAINTEXT),
         "Ho ! Saki, pass around and offer the bowl (of love for God) : ### ",
         "It should be possible to retrieve text"
     )
Пример #3
0
 def test_get_shared_textgroup_cross_repo(self):
     """ Check Get Capabilities """
     Repository = CTSCapitainsLocalResolver(
         [
             "./tests/testing_data/farsiLit",
             "./tests/testing_data/latinLit2"
         ]
     )
     self.assertIsNotNone(
         Repository.__getText__("urn:cts:latinLit:phi1294.phi002.perseus-lat2"),
         "We should find perseus-lat2"
     )
     self.assertIsNotNone(
         Repository.__getText__("urn:cts:latinLit:phi1294.phi002.opp-lat2"),
         "We should find perseus-lat2"
     )
Пример #4
0
 def test_pagination(self):
     self.assertEqual(
         CTSCapitainsLocalResolver.pagination(2, 30, 150), (30, 60, 2, 30),
         " Pagination should return Array limits "
     )
     self.assertEqual(
         CTSCapitainsLocalResolver.pagination(4, 40, 150), (120, 150, 4, 30),
         " Pagination should return Array limits "
     )
     self.assertEqual(
         CTSCapitainsLocalResolver.pagination(5, 40, 150), (120, 150, 4, 30),
         " Pagination should return Array limits "
     )
     self.assertEqual(
         CTSCapitainsLocalResolver.pagination(5, 100, 150), (100, 150, 2, 50),
         " Pagination should give corrected page and correct count"
     )
     self.assertEqual(
         CTSCapitainsLocalResolver.pagination(5, 110, 150), (40, 50, 5, 10),
         " Pagination should use default limit (10) when getting too much "
     )
Пример #5
0
 def test_get_capabilities(self):
     """ Check Get Capabilities """
     Repository = CTSCapitainsLocalResolver(
         ["./tests/testing_data/farsiLit"]
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__()[0]), 4,
         "General no filter works"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(category="edition")[0]), 2,
         "Type filter works"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(lang="ger")[0]), 1,
         "Filtering on language works"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(category="edition", lang="ger")[0]), 0,
         "Type filter + lang works"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(category="translation", lang="ger")[0]), 1,
         "Type filter + lang works"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(page=1, limit=2, pagination=True)[0]), 2,
         "Pagination works without other filters"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(page=2, limit=2, pagination=True)[0]), 2,
         "Pagination works without other filters at list end"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(urn="urn:cts:farsiLit")[0]), 3,
         "URN Filtering works"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(urn="urn:cts:latinLit")[0]), 1,
         "URN Filtering works"
     )
     self.assertEqual(
         len(Repository.__getTextMetadata__(urn="urn:cts:farsiLit:hafez.divan.perseus-eng1")[0]), 1,
         "Complete URN filtering works"
     )
Пример #6
0
farsi.parent = tic
farsi.set_label("Farsi", "eng")
gc = TextInventory("urn:perseus:greekLit")
gc.parent = tic
gc.set_label("Ancient Greek", "eng")
gc.set_label("Grec Ancien", "fre")

dispatcher = CollectionDispatcher(tic)


@dispatcher.inventory("urn:perseus:latinLit")
def dispatchLatinLit(collection, path=None, **kwargs):
    if collection.id.startswith("urn:cts:latinLit:"):
        return True
    return False


@dispatcher.inventory("urn:perseus:farsiLit")
def dispatchfFarsiLit(collection, path=None, **kwargs):
    if collection.id.startswith("urn:cts:farsiLit:"):
        return True
    return False


NautilusDummy = CTSCapitainsLocalResolver(resource=[
    "./tests/test_data/nautilus/farsiLit",
    "./tests/test_data/nautilus/latinLit"
],
                                          dispatcher=dispatcher)
NautilusDummy.logger.disabled = True