52 lines
No EOL
1.5 KiB
Python
52 lines
No EOL
1.5 KiB
Python
import json
|
|
from typing import Any, Dict, List, Union
|
|
import requests
|
|
import pandas as pd
|
|
import streamlit as st
|
|
|
|
def echa_request(cas_num: str) -> Dict[str, Any]:
|
|
url = 'https://api.cosmoguard.it/api/v1/echa/search'
|
|
response = requests.post(url, json={'cas': cas_num})
|
|
data = response.json()
|
|
if data['success'] == True:
|
|
return data['data']
|
|
else:
|
|
return data['error']
|
|
|
|
def cosing_request(cas_num: str) -> Dict[str, Any]:
|
|
url = 'https://api.cosmoguard.it/api/v1/cosing/search'
|
|
response = requests.post(url, json={
|
|
"full": True,
|
|
"mode": "cas",
|
|
"text": cas_num
|
|
})
|
|
data = response.json()
|
|
if data['success'] == True:
|
|
return data['data']
|
|
else:
|
|
return data['error']
|
|
|
|
def generate_pdf_download(cas, origin, link):
|
|
url = 'https://api.cosmoguard.it/api/v1/common/generate-pdf'
|
|
name = f'{cas}_{origin}'
|
|
if link is not None:
|
|
response = requests.post(
|
|
url,
|
|
json = {
|
|
'link': link,
|
|
'name': name
|
|
}
|
|
)
|
|
data = response.json()
|
|
else:
|
|
data = {
|
|
'success': False,
|
|
'error': 'No dossier exists for this origin.'
|
|
}
|
|
if data['success'] == True:
|
|
url = f'https://api.cosmoguard.it/api/v1/common/download-pdf/{name}'
|
|
response = requests.get(url)
|
|
response.raise_for_status()
|
|
return response.content
|
|
else:
|
|
return data['error'] |