From 7e67355f44a8fbdc6123fd2b0f9b202d2e1d90eb Mon Sep 17 00:00:00 2001
From: valerio <valerio@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Sun, 21 Mar 2010 18:24:37 +0000
Subject: [PATCH] Capitalized ext support for mol and seq

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1863 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/io/src/mol/entity_io_crd_handler.cc |  4 +++-
 modules/io/src/mol/entity_io_pdb_handler.cc |  8 +++++---
 modules/io/src/mol/entity_io_sdf_handler.cc |  4 +++-
 modules/io/src/seq/clustal_io_handler.cc    |  4 +++-
 modules/io/src/seq/fasta_io_handler.cc      | 10 +++++-----
 modules/io/src/seq/promod_io_handler.cc     |  4 +++-
 6 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/modules/io/src/mol/entity_io_crd_handler.cc b/modules/io/src/mol/entity_io_crd_handler.cc
index 5d730787a..8cd61e3e9 100644
--- a/modules/io/src/mol/entity_io_crd_handler.cc
+++ b/modules/io/src/mol/entity_io_crd_handler.cc
@@ -181,7 +181,9 @@ namespace {
 bool crd_handler_is_responsible_for(const boost::filesystem::path& loc,
                                     const String& type) {
   if(type=="auto") {
-    if( detail::FilenameEndsWith(loc.string(),".crd") || detail::FilenameEndsWith(loc.string(),".crd.gz") ) {
+    String match_suf_string=loc.string();
+	std::transform(match_suf_string.begin(),match_suf_string.end(),match_suf_string.begin(),tolower);
+    if( detail::FilenameEndsWith(match_suf_string,".crd") || detail::FilenameEndsWith(match_suf_string,".crd.gz") ) {
       return true;
     }
   } else if(type=="crd") {
diff --git a/modules/io/src/mol/entity_io_pdb_handler.cc b/modules/io/src/mol/entity_io_pdb_handler.cc
index 3ab18599f..ca64835e7 100644
--- a/modules/io/src/mol/entity_io_pdb_handler.cc
+++ b/modules/io/src/mol/entity_io_pdb_handler.cc
@@ -76,9 +76,11 @@ namespace {
 bool pdb_handler_is_responsible_for(const boost::filesystem::path& loc,
                                     const String& type) {
   if(type=="auto") {
-    if(detail::FilenameEndsWith(loc.string(),".pdb") || detail::FilenameEndsWith(loc.string(),".ent") ||
-       detail::FilenameEndsWith(loc.string(),".pdb.gz") || detail::FilenameEndsWith(loc.string(),".pqr") ||
-       detail::FilenameEndsWith(loc.string(),".ent.gz")){
+	String match_suf_string=loc.string();
+    std::transform(match_suf_string.begin(),match_suf_string.end(),match_suf_string.begin(),tolower);
+    if(detail::FilenameEndsWith(match_suf_string,".pdb") || detail::FilenameEndsWith(match_suf_string,".ent") ||
+       detail::FilenameEndsWith(match_suf_string,".pdb.gz") || detail::FilenameEndsWith(match_suf_string,".pqr") ||
+       detail::FilenameEndsWith(match_suf_string,".ent.gz")){
       return true;
     }
 
diff --git a/modules/io/src/mol/entity_io_sdf_handler.cc b/modules/io/src/mol/entity_io_sdf_handler.cc
index 49b699024..9ec62a2e6 100644
--- a/modules/io/src/mol/entity_io_sdf_handler.cc
+++ b/modules/io/src/mol/entity_io_sdf_handler.cc
@@ -409,7 +409,9 @@ namespace {
 bool sdf_handler_is_responsible_for(const boost::filesystem::path& loc,
                                     const String& type) {
   if(type=="auto") {
-    if(detail::FilenameEndsWith(loc.string(),".sdf")) {
+	String match_suf_string=loc.string();
+    std::transform(match_suf_string.begin(),match_suf_string.end(),match_suf_string.begin(),tolower);
+    if(detail::FilenameEndsWith(match_suf_string,".sdf")) {
       return true;
     }
 
diff --git a/modules/io/src/seq/clustal_io_handler.cc b/modules/io/src/seq/clustal_io_handler.cc
index 3456befad..be1d5c213 100644
--- a/modules/io/src/seq/clustal_io_handler.cc
+++ b/modules/io/src/seq/clustal_io_handler.cc
@@ -51,7 +51,9 @@ void ClustalIOHandler::Export(const seq::ConstSequenceList& msa,
 bool ClustalIOHandler::ProvidesImport(const boost::filesystem::path& loc, 
                                     const String& format) {
   if (format=="auto") {
-   if (detail::FilenameEndsWith(loc.string(),".aln")) {
+   String match_suf_string=loc.string();
+   std::transform(match_suf_string.begin(),match_suf_string.end(),match_suf_string.begin(),tolower);
+   if (detail::FilenameEndsWith(match_suf_string,".aln")) {
      return true;
    }
   } else if(format=="clustal") {
diff --git a/modules/io/src/seq/fasta_io_handler.cc b/modules/io/src/seq/fasta_io_handler.cc
index 6a6a5f103..919902088 100644
--- a/modules/io/src/seq/fasta_io_handler.cc
+++ b/modules/io/src/seq/fasta_io_handler.cc
@@ -56,11 +56,11 @@ void FastaIOHandler::Export(const seq::ConstSequenceList& msa,
 bool FastaIOHandler::ProvidesImport(const boost::filesystem::path& loc, 
                                     const String& format) {
   if (format=="auto") {
-
-
-   if (detail::FilenameEndsWith(loc.string(),".fasta") || detail::FilenameEndsWith(loc.string(),".fa") ||
-       detail::FilenameEndsWith(loc.string(),".fna") || detail::FilenameEndsWith(loc.string(),".fsa") ||
-       detail::FilenameEndsWith(loc.string(),".fas") )  {
+   String match_suf_string=loc.string();
+   std::transform(match_suf_string.begin(),match_suf_string.end(),match_suf_string.begin(),tolower);
+   if (detail::FilenameEndsWith(match_suf_string,".fasta") || detail::FilenameEndsWith(match_suf_string,".fa") ||
+       detail::FilenameEndsWith(match_suf_string,".fna") || detail::FilenameEndsWith(match_suf_string,".fsa") ||
+       detail::FilenameEndsWith(match_suf_string,".fas") )  {
 	return true;
    }
   } else if(format=="fasta") {
diff --git a/modules/io/src/seq/promod_io_handler.cc b/modules/io/src/seq/promod_io_handler.cc
index 518c6b34e..89246dd4c 100644
--- a/modules/io/src/seq/promod_io_handler.cc
+++ b/modules/io/src/seq/promod_io_handler.cc
@@ -52,7 +52,9 @@ void PromodIOHandler::Export(const seq::ConstSequenceList& msa,
 bool PromodIOHandler::ProvidesImport(const boost::filesystem::path& loc, 
                                     const String& format) {
   if (format=="auto") {
-   if (detail::FilenameEndsWith(loc.string(),".ali")) {
+   String match_suf_string=loc.string();
+   std::transform(match_suf_string.begin(),match_suf_string.end(),match_suf_string.begin(),tolower);
+   if (detail::FilenameEndsWith(match_suf_string,".ali")) {
      return true;
    }
   } else if(format=="promod") {
-- 
GitLab