From 74417bef33e8ea198bb596ddff3afb6678d69fde Mon Sep 17 00:00:00 2001
From: Marco Biasini <marco.biasini@unibas.ch>
Date: Wed, 8 May 2013 14:44:55 +0200
Subject: [PATCH] fix BZDNG-408

CreateViewFromAtoms has been aliased as CreateViewFromAtomList and now
accepts AtomHandleList/AtomViewLists as well as normal python lists.
---
 CHANGELOG.txt                                |  1 +
 modules/mol/base/pymod/export_entity_view.cc | 10 +++++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 88db0fa78..e54424763 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -4,6 +4,7 @@ Changes In Release 1.3.3
   * fix context menu/main menu for newer Qt versions 
   * CreateEntityFromView remembers chemical type (BZDNG-430)
   * Fix remote=true for MMCIF loader (BZDNG-449)
+  * made CreateViewFromAtoms more flexible (BZDNG-408)
 
 Changes In Release 1.3.2
 --------------------------------------------------------------------------------
diff --git a/modules/mol/base/pymod/export_entity_view.cc b/modules/mol/base/pymod/export_entity_view.cc
index fd9757286..f45fcff2d 100644
--- a/modules/mol/base/pymod/export_entity_view.cc
+++ b/modules/mol/base/pymod/export_entity_view.cc
@@ -36,7 +36,7 @@ using namespace ost::mol;
 namespace {
 
 template<class T>
-std::vector<T> from_list(const list& seq)
+std::vector<T> from_list(const object& seq)
 {
   std::vector<T> nrvo;
   for (int i = 0; i < len(seq); ++i) {
@@ -62,9 +62,12 @@ StringMethod find_chain_str=&EntityView::FindChain;
 QSMethod select_string=&EntityView::Select;
 QueryMethod  select_query=&EntityView::Select;
 
-EntityView create_view(const list& seq)
+EntityView create_view(const object& seq)
 {
-  if(len(seq)==0) return EntityView();
+  
+  if(len(seq)==0) {
+    return EntityView();
+  }
   extract<AtomHandle> get_handle(seq[0]);
   if(get_handle.check()) {
     return CreateViewFromAtomList(from_list<AtomHandle>(seq));
@@ -209,6 +212,7 @@ void export_EntityView()
   def("Intersection", &Intersection);
 
   def("CreateViewFromAtoms", create_view);
+  def("CreateViewFromAtomList", create_view);
   
   def("CreateEntityFromView", &CreateEntityFromView, 
       arg("handle")=EntityHandle());
-- 
GitLab