3939 description = 'raw results from ElasticSearch' )})
4040
4141
42+ def get_or_create_contentprovider_lookup ():
43+ try :
44+ k = str (uuid .uuid4 ())
45+ d = {"id" : k , "params" : {},"endpoint" : "contentproviders" }
46+ base_ns .logger .debug (d )
47+ redis_store .rpush ("base" , json .dumps (d ))
48+ result = get_key (redis_store , k )
49+ df = pd .DataFrame (json .loads (result ["contentproviders" ]))
50+ df .set_index ("internal_name" , inplace = True )
51+ cp_dict = df .name .to_dict ()
52+ return cp_dict
53+ except Exception as e :
54+ base_ns .logger .error (e )
55+
56+ contentprovider_lookup = get_or_create_contentprovider_lookup ()
57+
4258@base_ns .route ('/search' )
4359class Search (Resource ):
4460 @base_ns .doc (responses = {200 : 'OK' ,
@@ -53,6 +69,9 @@ def post(self):
5369 if "optradio" in params :
5470 del params ["optradio" ]
5571 errors = search_param_schema .validate (params , partial = True )
72+ if "repo" in params :
73+ contentprovider_long = contentprovider_lookup .get (params ["repo" ])
74+ params ["contentprovider_long" ] = contentprovider_long
5675 params ["limit" ] = 120
5776 params ["list_size" ] = 100
5877 base_ns .logger .debug (errors )
@@ -85,25 +104,7 @@ def post(self):
85104 base_ns .logger .error (e )
86105 abort (500 , "Problem encountered, check logs." )
87106
88- def get_or_create_contentprovider_lookup ():
89- try :
90- k = str (uuid .uuid4 ())
91- d = {"id" : k , "params" : {},
92- "endpoint" : "contentproviders" }
93- base_ns .logger .debug (d )
94- redis_store .rpush ("base" , json .dumps (d ))
95- result = get_key (redis_store , k )
96- df = pd .DataFrame (json .loads (result ))
97- df .set_index ("internal_name" , inplace = True )
98- cp_dict = df .name .to_dict ()
99- return cp_dict
100- except Exception as e :
101- base_ns .logger .error (e )
102-
103- contentprovider_lookup = get_or_create_contentprovider_lookup ()
104- base_ns .logger .debug (len (contentprovider_lookup ))
105-
106- @base_ns .route ('contentprovider' )
107+ @base_ns .route ('/contentproviders' )
107108class ContentProvider (Resource ):
108109 @base_ns .doc (responses = {200 : 'OK' ,
109110 400 : 'Invalid search parameters' })
@@ -121,7 +122,7 @@ def post(self):
121122 if not params :
122123 result = contentprovider_lookup
123124 else :
124- result = contentprovider_lookup .get (params ["repo" ])
125+ result = { "contentprovider_long" : contentprovider_lookup .get (params ["repo" ])}
125126 try :
126127 headers = {}
127128 headers ["Content-Type" ] = "application/json"
0 commit comments