From 82ca202f9229216271f7ad8055788180f38834fa Mon Sep 17 00:00:00 2001 From: Stefan Bienert <stefan.bienert@unibas.ch> Date: Wed, 5 Sep 2018 13:41:40 +0200 Subject: [PATCH] Export of citation type handling to Python --- modules/io/pymod/export_mmcif_io.cc | 16 ++++++++++++++++ modules/io/tests/test_io_mmcif.py | 3 +++ 2 files changed, 19 insertions(+) diff --git a/modules/io/pymod/export_mmcif_io.cc b/modules/io/pymod/export_mmcif_io.cc index dd90843e3..fb35827a1 100644 --- a/modules/io/pymod/export_mmcif_io.cc +++ b/modules/io/pymod/export_mmcif_io.cc @@ -49,6 +49,12 @@ void export_mmcif_io() return_value_policy<copy_const_reference>())) ; + enum_<MMCifInfoCitation::MMCifInfoCType>("MMCifInfoCType") + .value("Journal", MMCifInfoCitation::JOURNAL) + .value("Book", MMCifInfoCitation::BOOK) + .value("Unknown", MMCifInfoCitation::UNKNOWN) + ; + class_<MMCifInfoCitation>("MMCifInfoCitation", init<>()) .def("SetID", &MMCifInfoCitation::SetID) .def("GetID", &MMCifInfoCitation::GetID) @@ -72,6 +78,14 @@ void export_mmcif_io() .def("GetYear", &MMCifInfoCitation::GetYear) .def("SetTitle", &MMCifInfoCitation::SetTitle) .def("GetTitle", &MMCifInfoCitation::GetTitle) + .def("SetCitationType", &MMCifInfoCitation::SetCitationType) + .def("SetCitationTypeJournal", &MMCifInfoCitation::SetCitationTypeJournal) + .def("SetCitationTypeBook", &MMCifInfoCitation::SetCitationTypeBook) + .def("SetCitationTypeUnknown", &MMCifInfoCitation::SetCitationTypeUnknown) + .def("GetCitationType", &MMCifInfoCitation::GetCitationType) + .def("IsCitationTypeJournal", &MMCifInfoCitation::IsCitationTypeJournal) + .def("IsCitationTypeBook", &MMCifInfoCitation::IsCitationTypeBook) + .def("IsCitationTypeUnknown", &MMCifInfoCitation::IsCitationTypeUnknown) .def("SetAuthorList", &MMCifInfoCitation::SetAuthorList) .def("GetAuthorList", make_function(&MMCifInfoCitation::GetAuthorList, return_value_policy<copy_const_reference>())) @@ -94,6 +108,8 @@ void export_mmcif_io() &MMCifInfoCitation::SetYear) .add_property("title", &MMCifInfoCitation::GetTitle, &MMCifInfoCitation::SetTitle) + .add_property("citation_type", &MMCifInfoCitation::GetCitationType, + &MMCifInfoCitation::SetCitationType) .add_property("authors", make_function(&MMCifInfoCitation::GetAuthorList, return_value_policy<copy_const_reference>()), &MMCifInfoCitation::SetAuthorList) diff --git a/modules/io/tests/test_io_mmcif.py b/modules/io/tests/test_io_mmcif.py index c7cb807bc..71ddf9ecd 100644 --- a/modules/io/tests/test_io_mmcif.py +++ b/modules/io/tests/test_io_mmcif.py @@ -40,6 +40,9 @@ class TestMMCifInfo(unittest.TestCase): # test title setting/ getting c.SetTitle('Foo') self.assertEquals(c.GetTitle(), 'Foo') + # test citation type + self.assertTrue(c.IsCitationTypeUnknown()) + self.assertEquals(c.citation_type, io.MMCifInfoCType.Unknown) # test auhtors setting/ getting s = ost.StringList() s.append('Foo') -- GitLab