/
generator.py
54 lines (48 loc) · 2.1 KB
/
generator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import requests
import time
import os
import json
import hashlib
from atm_helper import CONFIG
def writeUMLSAndMetaResponse(keywordsF):
keywordsContent = keywordsF.read()
keywords = keywordsContent.split("\n")
for keyword in keywords:
metaDirs = os.listdir("metamap_responses")
metaHashKey = hashlib.md5(keyword.encode())
metaHashRes = metaHashKey.hexdigest()
if metaHashRes not in metaDirs:
k = MetaMapProcessK(keyword)
response = requests.post(CONFIG["metamap_url"], data=k)
print("MetaMap: " + keyword + " " + str(response.status_code))
while response.content is None or response.status_code is not 200:
time.sleep(0.2)
response = requests.post(CONFIG["metamap_url"], data=k)
print("MetaMap: " + keyword + " " + str(response.status_code))
with open("metamap_responses/" + metaHashRes, "w+") as f:
json.dump(json.loads(response.content), f)
for key in keywords:
umlsDirs = os.listdir("umls_responses")
umlsHashKey = hashlib.md5(key.encode())
umlsHashRes = umlsHashKey.hexdigest()
if umlsHashRes not in umlsDirs:
umlsk = UMLSProcessK(key)
param = {
"q": umlsk
}
umlsresponse = requests.get(CONFIG["umls_url"], params=param, auth=(CONFIG["username"], CONFIG["secret"]))
print("UMLS: " + key + " " + str(umlsresponse.status_code))
while umlsresponse.content is None or umlsresponse.status_code is not 200:
time.sleep(0.2)
umlsresponse = requests.get(CONFIG["umls_url"], params=param, auth=(CONFIG["username"], CONFIG["secret"]))
print("UMLS: " + key + " " + str(umlsresponse.status_code))
with open("umls_responses/" + umlsHashRes, "w+") as f:
json.dump(json.loads(umlsresponse.content), f)
def MetaMapProcessK(k):
k = k.replace("β", "beta")
return k
def UMLSProcessK(k):
k = k.replace("/", "\/")
k = k.replace("[", "")
k = k.replace("]", " ")
return k