From 41f36de01e157a26592a8e60ab40dc2fe41ae4df Mon Sep 17 00:00:00 2001
From: Gerardo Tauriello <gerardo.tauriello@unibas.ch>
Date: Mon, 13 Aug 2018 15:41:06 +0200
Subject: [PATCH] Fixed nasty exports (segfaulting with wrong arguments).

---
 modules/io/pymod/wrap_io.cc | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/modules/io/pymod/wrap_io.cc b/modules/io/pymod/wrap_io.cc
index a5abde8cc..55e0dd61c 100644
--- a/modules/io/pymod/wrap_io.cc
+++ b/modules/io/pymod/wrap_io.cc
@@ -45,12 +45,6 @@ BOOST_PYTHON_FUNCTION_OVERLOADS(load_mentity_ov,LoadManagedEntity,2,3);
 BOOST_PYTHON_FUNCTION_OVERLOADS(load_surface_ov,LoadSurface,1,2);
 BOOST_PYTHON_FUNCTION_OVERLOADS(load_msurface_ov,LoadManagedSurface,2,3);
 
-BOOST_PYTHON_FUNCTION_OVERLOADS(load_alignment_ov,
-                                LoadAlignment, 1, 2)
-                                
-BOOST_PYTHON_FUNCTION_OVERLOADS(save_alignment_ov,
-                                SaveAlignment, 2, 3)
-
 
 void save_ent_view(const mol::EntityView& en, const String& filename,
                    const String& format="auto") {
@@ -95,25 +89,31 @@ BOOST_PYTHON_MODULE(_ost_io)
       save_entity_handle_ov(args("entity", "filename", "format")));
 
   def("LoadAlignment", &LoadAlignment,
-      load_alignment_ov(args("filename", "format")));
+      (arg("filename"), arg("format")="auto"));
   def("AlignmentFromString", &AlignmentFromString);
   def("AlignmentFromStream", &AlignmentFromStream);
   def("AlignmentToString", &AlignmentToString);
-  def("LoadSequenceList", &LoadSequenceList, arg("format")="auto");
-  def("LoadSequence", &LoadSequence, arg("format")="auto");
+  def("LoadSequenceList", &LoadSequenceList,
+      (arg("filename"), arg("format")="auto"));
+  def("LoadSequence", &LoadSequence,
+      (arg("filename"), arg("format")="auto"));
   def("SequenceListFromString", &SequenceListFromString);
   def("SequenceFromString", &SequenceFromString);  
-  def("SaveAlignment", &SaveAlignment, arg("format")="auto");
+  def("SaveAlignment", &SaveAlignment,
+      (arg("aln"), arg("filename"), arg("format")="auto"));
   
-  def("LoadSequenceProfile", &LoadSequenceProfile, arg("format")="auto");
+  def("LoadSequenceProfile", &LoadSequenceProfile,
+      (arg("filename"), arg("format")="auto"));
 
   def("LoadSurface",LoadSurface,load_surface_ov());
   def("LoadManagedSurface",LoadManagedSurface,load_msurface_ov());
 
   def("SequenceToString", &SequenceToString);
   def("SequenceListToString", &SequenceListToString); 
-  def("SaveSequenceList", &SaveSequenceList, arg("format")="auto");
-  def("SaveSequence", &SaveSequence, arg("format")="auto");
+  def("SaveSequenceList", &SaveSequenceList,
+      (arg("seq_list"), arg("filename"), arg("format")="auto"));
+  def("SaveSequence", &SaveSequence,
+      (arg("sequence"), arg("filename"), arg("format")="auto"));
   def("LoadSDF", &LoadSDF);
 
   def("LoadCRD", &LoadCRD);
-- 
GitLab