Skip to content

Commit edcc992

Browse files
committed
contentprovider lookup should be working
1 parent fd77777 commit edcc992

2 files changed

Lines changed: 23 additions & 20 deletions

File tree

server/workers/api/src/apis/base.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,22 @@
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')
4359
class 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')
107108
class 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"

server/workers/base/src/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def run(self):
9090
except Exception as e:
9191
self.logger.exception("Exception during data retrieval.")
9292
self.logger.error(params)
93+
self.logger.error(e)
9394

9495
if endpoint == "contentproviders":
9596
try:
@@ -99,4 +100,5 @@ def run(self):
99100
except Exception as e:
100101
self.logger.exception("Exception during retrieval of contentproviders.")
101102
self.logger.error(params)
103+
self.logger.error(e)
102104

0 commit comments

Comments
 (0)