1. Su Lab
  2. BioThings
  3. mygene.info

Commits

Cyrus Afrasiabi  committed afa3bd5

Add search and prefix to mygene.info, fix nested issue here too.

Comments (0)

Files changed (1)

File src/api_v2/handlers.py Modified

View file
  • Ignore whitespace
  • Hide word diff
     def get(self):
         #notes = json.load(open(config.FIELD_NOTES_PATH, 'r'))
         es_mapping = self.esq.query_fields()
+        kwargs = self.get_query_params()
 
         def get_indexed_properties_in_dict(d, prefix):
             r = {}
             for (k, v) in d.items():
                 r[prefix + '.' + k] = {}
                 r[prefix + '.' + k]['indexed'] = False
-                if 'type' in v:
+                if 'properties' not in v:
                     r[prefix + '.' + k]['type'] = v['type']
                     if ('index' not in v) or ('index' in v and v['index'] != 'no'):
                         # indexed field
             return r
 
         r = {}
+        search = kwargs.pop('search', None)
+        prefix = kwargs.pop('prefix', None)
         for (k, v) in get_indexed_properties_in_dict(es_mapping, '').items():
             k1 = k.lstrip('.')
-            r[k1] = v
-            #if k1 in notes:
-            #    r[k1]['notes'] = notes[k1]
+            if (search and search in k1) or (prefix and k1.startswith(prefix)) or (not search and not prefix):
+                r[k1] = v
+                #if k1 in notes:
+                #    r[k1]['notes'] = notes[k1]
         self.return_json(r, indent=2)