raannakasturi commited on
Commit
d331eab
·
verified ·
1 Parent(s): eeea145

Update fetch_data.py

Browse files
Files changed (1) hide show
  1. fetch_data.py +49 -44
fetch_data.py CHANGED
@@ -1,45 +1,50 @@
1
- from arvix import extract_arxiv_data
2
- from pmc import extract_pmc_data
3
- import json
4
- import dotenv
5
- import os
6
- from concurrent.futures import ThreadPoolExecutor
7
-
8
- dotenv.load_dotenv()
9
- ACCESS_KEY = os.getenv("ACCESS_KEY")
10
-
11
- def fetch_arxiv_data():
12
- return json.loads(extract_arxiv_data())
13
-
14
- def fetch_pmc_data():
15
- return json.loads(extract_pmc_data())
16
-
17
- def fetch_data(user_access_key):
18
- if user_access_key != ACCESS_KEY:
19
- papers_data = {"error": "Invalid access key"}
20
- else:
21
- papers_data = {}
22
- with ThreadPoolExecutor() as executor:
23
- arxiv_future = executor.submit(fetch_arxiv_data)
24
- pmc_future = executor.submit(fetch_pmc_data)
25
- arxiv_data = arxiv_future.result()
26
- pmc_data = pmc_future.result()
27
- for topic, topic_data in arxiv_data.items():
28
- if topic_data['count'] == 0:
29
- continue
30
- else:
31
- papers_data[topic] = {}
32
- papers_data[topic]['ids'] = topic_data['ids']
33
- for topic, topic_data in pmc_data.items():
34
- if topic_data['count'] == 0:
35
- continue
36
- else:
37
- papers_data[topic] = {}
38
- papers_data[topic]['ids'] = topic_data['ids']
39
- data = json.dumps(papers_data, indent=4, ensure_ascii=False)
40
- return data
41
-
42
- if __name__ == '__main__':
43
- data = fetch_data()
44
- with open('data.json', 'w') as f:
 
 
 
 
 
45
  f.write(data)
 
1
+ from arvix import extract_arxiv_data
2
+ from pmc import extract_pmc_data
3
+ import json
4
+ import dotenv
5
+ import os
6
+ from concurrent.futures import ThreadPoolExecutor
7
+
8
+ dotenv.load_dotenv()
9
+ ACCESS_KEY = os.getenv("ACCESS_KEY")
10
+
11
+ def fetch_arxiv_data():
12
+ return json.loads(extract_arxiv_data())
13
+
14
+ def fetch_pmc_data():
15
+ return json.loads(extract_pmc_data())
16
+
17
+ def fetch_data(user_access_key):
18
+ if user_access_key != ACCESS_KEY:
19
+ papers_data = {"status": "Invalid access key"}
20
+ else:
21
+ papers_data = {}
22
+ try:
23
+ papers_data['status'] = 'success'
24
+ with ThreadPoolExecutor() as executor:
25
+ arxiv_future = executor.submit(fetch_arxiv_data)
26
+ pmc_future = executor.submit(fetch_pmc_data)
27
+ arxiv_data = arxiv_future.result()
28
+ pmc_data = pmc_future.result()
29
+ for topic, topic_data in arxiv_data.items():
30
+ if topic_data['count'] == 0:
31
+ continue
32
+ else:
33
+ papers_data[topic] = {}
34
+ papers_data[topic]['ids'] = topic_data['ids']
35
+ for topic, topic_data in pmc_data.items():
36
+ if topic_data['count'] == 0:
37
+ continue
38
+ else:
39
+ papers_data[topic] = {}
40
+ papers_data[topic]['ids'] = topic_data['ids']
41
+ except Exception as e:
42
+ print(str(e))
43
+ papers_data['status'] = 'error'
44
+ data = json.dumps(papers_data, indent=4, ensure_ascii=False)
45
+ return data
46
+
47
+ if __name__ == '__main__':
48
+ data = fetch_data()
49
+ with open('data.json', 'w') as f:
50
  f.write(data)