From f3ea8262a392aff5e48a0e8ae01f538dd2bf6272 Mon Sep 17 00:00:00 2001 From: ahmed531998 Date: Tue, 18 Apr 2023 21:25:50 +0200 Subject: [PATCH] fixes --- VRE.py | 2 +- main.py | 49 ++++++++++++++++++++++++++++--------------------- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/VRE.py b/VRE.py index 644ffd6..7ab5815 100644 --- a/VRE.py +++ b/VRE.py @@ -198,7 +198,7 @@ class VRE: self.content_counter+=1 other_content_df.loc[str(self.content_counter)] = [self.content_counter, -3, description['title'] + ' is a paper. ' + description['notes'] + ' It is about ' + ', '.join(description['tags']) ] - self.db['content_db'] = pd.concat(content_df, other_content_df) + self.db['content_db'] = pd.concat([content_df, other_content_df]) self.db['paper_db'].to_json(self.directory + self.name + '_paper.json') self.db['dataset_db'].to_json(self.directory + self.name + '_dataset.json') diff --git a/main.py b/main.py index b528d61..9e27236 100644 --- a/main.py +++ b/main.py @@ -71,35 +71,42 @@ def health(): @app.route("/api/dm", methods=['POST']) def init_dm(): token = request.get_json().get("token") - headers = {"gcube-token": token, "Accept": "application/json"} - - if token not in users: - url = 'https://api.d4science.org/rest/2/people/profile' - response = requests.get(url, headers=headers) - username = response.json()['result']['username'] - name = response.json()['result']['fullname'] - - vre = VRE("assistedlab", token, retriever) - vre.init() - index = vre.get_index() - db = vre.get_db() - rg = ResponseGenerator(index,db, rec, generators, retriever) - args = {'vre': vre, 'rg': rg} + status = request.get_json().get("stat") + if status == "start": + message = {"stat": "waiting"} + elif status == "set": + headers = {"gcube-token": token, "Accept": "application/json"} + if token not in users: + url = 'https://api.d4science.org/rest/2/people/profile' + response = requests.get(url, headers=headers) + if response.status_code == 200: + username = response.json()['result']['username'] + name = response.json()['result']['fullname'] + vre = VRE("assistedlab", token, retriever) + vre.init() + index = vre.get_index() + db = vre.get_db() + rg = ResponseGenerator(index,db, rec, generators, retriever) + args = {'vre': vre, 'rg': rg} - users[token] = {'username': username, 'name': name, 'dm': DM(), 'activity': 0, 'user': User(username, token), 'args': args} + users[token] = {'username': username, 'name': name, 'dm': DM(), 'activity': 0, 'user': User(username, token), 'args': args} - threading.Thread(target=vre_fetch, args=(token,), name='updatevre_'+users[token]['username']).start() - threading.Thread(target=user_interest_decay, args=(token,), name='decayinterest_'+users[token]['username']).start() - - message = {"answer": "Hi " + name.split()[0] + '!', "assignedname": username} - else: - message = {"answer": "welcome back " + users[token]['name'].split()[0] + '!', "assignedname": users[token]['username']} + threading.Thread(target=vre_fetch, args=(token,), name='updatevre_'+users[token]['username']).start() + threading.Thread(target=user_interest_decay, args=(token,), name='decayinterest_'+users[token]['username']).start() + + message = {"stat": "done"} + else: + message = {"stat": "rejected"} + else: + message = {"stat": "done"} return message @app.route("/api/predict", methods=['POST']) def predict(): text = request.get_json().get("message") token = request.get_json().get("token") + while token not in users: + continue dm = users[token]['dm'] user = users[token]['user'] rg = users[token]['args']['rg']