diff --git a/modules/io/pymod/export_mmcif_io.cc b/modules/io/pymod/export_mmcif_io.cc index dd90843e39fa7a32ed661975b208ea6325e7f7db..fb35827a11e0c046c14d999d5cc9d0da79c1f85a 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 c7cb807bcca47a281aaa0b9e46b3a41724a6dcf9..71ddf9ecd35a91fe51e8148918eecb4f4429df7e 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')