Skip to content

Commit

Permalink
Merge pull request #72 from Capitains/issue-71
Browse files Browse the repository at this point in the history
Issue 71
  • Loading branch information
PonteIneptique committed Mar 11, 2016
2 parents efe64d3 + 9f6e7ab commit 8523684
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 12 deletions.
2 changes: 1 addition & 1 deletion MyCapytain/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
"""

__name__ = "MyCapytain"
__version__ = "0.1.0"
__version__ = "0.1.1"
__all__ = ["common", "endpoints", "resources"]
14 changes: 9 additions & 5 deletions MyCapytain/resources/inventory.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,18 +299,22 @@ def __str__(self):
:returns: XML representation of the work
"""
strings = []
__lang = ""
if self.lang:
__lang = """xml:lang="{}" """.format(self.lang)

if self.urn is not None:
strings.append(
"<ti:work urn='{0}' groupUrn='{1}' xmlns:ti='http://chs.harvard.edu/xmlns/cts'>".format(
self.urn, self.urn.upTo(URN.TEXTGROUP))
"<ti:work {2}urn='{0}' groupUrn='{1}' xmlns:ti='http://chs.harvard.edu/xmlns/cts'>".format(
self.urn, self.urn.upTo(URN.TEXTGROUP), __lang)
)
else:
if len(self.parents) > 0 and hasattr(self.parents[0], "urn") is True:
strings.append("<ti:work groupUrn='{0}' xmlns:ti='http://chs.harvard.edu/xmlns/cts'>".format(
self.parents[0].urn)
strings.append("<ti:work {1}groupUrn='{0}' xmlns:ti='http://chs.harvard.edu/xmlns/cts'>".format(
self.parents[0].urn, __lang)
)
else:
strings.append("<ti:work xmlns:ti='http://chs.harvard.edu/xmlns/cts'>")
strings.append("<ti:work {}xmlns:ti='http://chs.harvard.edu/xmlns/cts'>".format(__lang))
for tag, metadatum in self.metadata:
for lang, value in metadatum:
strings.append("<ti:{tag} xml:lang='{lang}'>{value}</ti:{tag}>".format(tag=tag, lang=lang, value=value))
Expand Down
3 changes: 2 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
:target: http://mycapytain.readthedocs.org
.. image:: https://zenodo.org/badge/3923/Capitains/MyCapytain.svg
:target: https://zenodo.org/badge/latestdoi/3923/Capitains/MyCapytain

.. image:: https://img.shields.io/pypi/dm/MyCapytain.svg
:target: https://pypi.python.org/pypi/MyCapytain
MyCapytain is a python package which provides a large set of tools to deal with CTS and Capitains Guidelines in Python.

Installation and Requirements
Expand Down
14 changes: 10 additions & 4 deletions tests/resources/test_inventory.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ def setUp(self):
<ti:online></ti:online>
</ti:translation>""".replace("\n", "")

self.wk = """<ti:work urn='urn:cts:latinLit:phi1294.phi002' groupUrn='urn:cts:latinLit:phi1294' xmlns:ti='http://chs.harvard.edu/xmlns/cts'>
self.wk = """<ti:work xml:lang='lat' urn='urn:cts:latinLit:phi1294.phi002' groupUrn='urn:cts:latinLit:phi1294' xmlns:ti='http://chs.harvard.edu/xmlns/cts'>
<ti:title xml:lang='eng'>Epigrammata</ti:title>
<ti:title xml:lang='fre'>Epigrammes</ti:title>""" + self.tr + self.ed + """</ti:work>""".replace("\n", "")

Expand Down Expand Up @@ -158,6 +158,8 @@ def test_xml_TextInventory_GetItem(self):
self.assertEqual(str(TI["urn:cts:latinLit:phi1294.phi002"].urn), "urn:cts:latinLit:phi1294.phi002")
self.assertIsInstance(TI["urn:cts:latinLit:phi1294.phi002.perseus-lat2"], Text)
self.assertEqual(str(TI["urn:cts:latinLit:phi1294.phi002.perseus-lat2"].urn), "urn:cts:latinLit:phi1294.phi002.perseus-lat2")
self.assertEqual(TI["urn:cts:latinLit:phi1294.phi002"].lang, "lat")
self.assertEqual(TI["urn:cts:latinLit:phi1294.phi002.perseus-lat2"].lang, "lat")

def test_xml_Work_GetItem(self):
""" Test access through getItem obj[urn] """
Expand All @@ -171,7 +173,7 @@ def test_xml_Work_GetItem(self):
def test_xml_work_getLang(self):
""" Test access to translation """
xml = """
<ti:work xmlns:ti="http://chs.harvard.edu/xmlns/cts" urn="urn:cts:latinLit:phi1294.phi002">
<ti:work xmlns:ti="http://chs.harvard.edu/xmlns/cts" urn="urn:cts:latinLit:phi1294.phi002" xml:lang="lat">
<ti:title xml:lang="eng">Epigrammata</ti:title>
<ti:edition workUrn="urn:cts:latinLit:phi1294.phi002" urn="urn:cts:latinLit:phi1294.phi002.perseus-lat2">
</ti:edition>
Expand All @@ -187,10 +189,11 @@ def test_xml_work_getLang(self):
self.assertEqual(len(W.getLang("eng")), 2)
self.assertEqual(len(W.getLang()), 3)


def test_xml_Text_others(self):
""" Test access to translation """
xml = """
<ti:work xmlns:ti="http://chs.harvard.edu/xmlns/cts" urn="urn:cts:latinLit:phi1294.phi002">
<ti:work xmlns:ti="http://chs.harvard.edu/xmlns/cts" urn="urn:cts:latinLit:phi1294.phi002" xml:lang="lat">
<ti:title xml:lang="eng">Epigrammata</ti:title>
<ti:edition workUrn="urn:cts:latinLit:phi1294.phi002" urn="urn:cts:latinLit:phi1294.phi002.perseus-lat2">
</ti:edition>
Expand All @@ -206,6 +209,7 @@ def test_xml_Text_others(self):
E = W["urn:cts:latinLit:phi1294.phi002.perseus-lat2"]
T = W["urn:cts:latinLit:phi1294.phi002.perseus-fre1"]

self.assertEqual(E.lang, "lat")
self.assertEqual(E.translations("fre"), [T])
self.assertEqual(T.editions(), [E])

Expand Down Expand Up @@ -305,7 +309,7 @@ def test_export(self):
<ti:online></ti:online>
</ti:translation>""".replace("\n", "")

wk = """<ti:work urn='urn:cts:latinLit:phi1294.phi002' groupUrn='urn:cts:latinLit:phi1294' xmlns:ti='http://chs.harvard.edu/xmlns/cts'>
wk = """<ti:work urn='urn:cts:latinLit:phi1294.phi002' groupUrn='urn:cts:latinLit:phi1294' xmlns:ti='http://chs.harvard.edu/xmlns/cts' xml:lang='lat'>
<ti:title xml:lang='eng'>Epigrammata</ti:title>
<ti:title xml:lang='fre'>Epigrammes</ti:title>""" + tr + ed + """</ti:work>""".replace("\n", "")

Expand All @@ -330,6 +334,8 @@ def test_export(self):
self.assertXmlEquivalentOutputs(*compareXML(ti["urn='urn:cts:latinLit:phi1294.phi002"].export(), wk))
self.assertXmlEquivalentOutputs(*compareXML(ti["urn='urn:cts:latinLit:phi1294.phi002.perseus-eng2"].export(), tr))
self.assertXmlEquivalentOutputs(*compareXML(ti["urn='urn:cts:latinLit:phi1294.phi002.perseus-lat2"].export(), ed))
self.assertEqual(ti["urn='urn:cts:latinLit:phi1294.phi002.perseus-lat2"].lang, "lat")
self.assertEqual(ti["urn='urn:cts:latinLit:phi1294.phi002.perseus-eng2"].lang, "eng")

def test_export_to_text(self):
""" Test export to Text object """
Expand Down
2 changes: 1 addition & 1 deletion tests/testing_data/cts/getCapabilities.xml
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@
<ti:textgroup urn="urn:cts:latinLit:phi1294">
<ti:groupname xml:lang="eng">Martial</ti:groupname>
<ti:groupname xml:lang="lat">Martialis</ti:groupname>
<ti:work urn="urn:cts:latinLit:phi1294.phi002">
<ti:work urn="urn:cts:latinLit:phi1294.phi002" xml:lang="lat">
<ti:title xml:lang="eng">Epigrammata</ti:title>
<ti:title xml:lang="fre">Epigrammes</ti:title>
<ti:edition workUrn="urn:cts:latinLit:phi1294.phi002" urn="urn:cts:latinLit:phi1294.phi002.perseus-lat2">
Expand Down

0 comments on commit 8523684

Please sign in to comment.