From 654685425c091daffc5aefdc5a15600332ee043e Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Thu, 9 Jul 2015 17:54:57 +0000
Subject: [PATCH] catalog updates for regex search

---
 src/python/dm/common/mongodb/api/datasetMongoDbApi.py | 2 +-
 src/python/dm/common/mongodb/api/dmMongoDbApi.py      | 5 +++--
 src/python/dm/common/mongodb/api/fileMongoDbApi.py    | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/python/dm/common/mongodb/api/datasetMongoDbApi.py b/src/python/dm/common/mongodb/api/datasetMongoDbApi.py
index 5aef5f6e..66a8aa34 100755
--- a/src/python/dm/common/mongodb/api/datasetMongoDbApi.py
+++ b/src/python/dm/common/mongodb/api/datasetMongoDbApi.py
@@ -81,7 +81,7 @@ class DatasetMongoDbApi(DmMongoDbApi):
         if not useExperimentName:
             del datasetDict['experimentName']
         self.getLogger().debug('Converting dataset dict to regex patterns')
-        ignoreCase = kwargs.get(self.IGNORE_CASE_KEY, True)
+        ignoreCase = kwargs.get(self.REGEX_IGNORE_CASE_KEY, True)
         queryDict = self.convertStringsToRegex(datasetDict, ignoreCase)
         return self.fileMongoDbApi.getExperimentFiles(experimentName, queryDict, returnFieldDict)
 
diff --git a/src/python/dm/common/mongodb/api/dmMongoDbApi.py b/src/python/dm/common/mongodb/api/dmMongoDbApi.py
index 338ae1aa..a76e37b4 100755
--- a/src/python/dm/common/mongodb/api/dmMongoDbApi.py
+++ b/src/python/dm/common/mongodb/api/dmMongoDbApi.py
@@ -12,7 +12,8 @@ class DmMongoDbApi:
     """ Base Mongo DB API class. """
 
     SYSTEM_KEY_LIST = ['_id']
-    IGNORE_CASE_KEY = '_ignoreCase'
+    REGEX_IGNORE_KEY_LIST = ['_id']
+    REGEX_IGNORE_CASE_KEY = '_ignoreCase'
 
     def __init__(self):
         self.logger = LoggingManager.getInstance().getLogger(self.__class__.__name__)
@@ -80,7 +81,7 @@ class DmMongoDbApi:
     def convertStringsToRegex(cls, dict, ignoreCase=True):
         dict2 = copy.copy(dict)
         for (key,value) in dict2.items():
-            if key in cls.SYSTEM_KEY_LIST:
+            if key in cls.REGEX_IGNORE_KEY_LIST:
                 continue
             elif type(value) == types.StringType or type(value) == types.UnicodeType:
                 cls.getLogger().debug('Converting to regex: %s for key %s' % (value,key))
diff --git a/src/python/dm/common/mongodb/api/fileMongoDbApi.py b/src/python/dm/common/mongodb/api/fileMongoDbApi.py
index 6254b4e2..e0bdc3f7 100755
--- a/src/python/dm/common/mongodb/api/fileMongoDbApi.py
+++ b/src/python/dm/common/mongodb/api/fileMongoDbApi.py
@@ -28,7 +28,7 @@ class FileMongoDbApi(DmMongoDbApi):
     def getFiles(self, queryDict={}, returnFieldDict=FileCollection.ALL_FIELDS_DICT, **kwargs):
         queryDict2 = self.getMongoDict(queryDict)
         self.getLogger().debug('Converting query dict to regex patterns')
-        ignoreCase = kwargs.get(self.IGNORE_CASE_KEY, True)
+        ignoreCase = kwargs.get(self.REGEX_IGNORE_CASE_KEY, True)
         queryDict2 = self.convertStringsToRegex(queryDict2, ignoreCase)
         return self.listToDmObjects(self.fileCollection.findByQueryDict(queryDict2, returnFieldDict), FileMetadata)
 
-- 
GitLab