File size: 2,500 Bytes
2b5ccc9 |
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
import requests
import streamlit as st
# URL de base de l'API bziiit
BASE_URL = "https://bziiitapi-api.azurewebsites.net"
# Fonction de récupération des labels
def get_labels():
url = f"{BASE_URL}/opendata/labels"
response = requests.get(url)
if response.status_code == 200:
return response.json()["response"]
else:
st.error(f"Échec de récupération des labels: {response.text}")
return []
# Fonction de récupération des projets RSE
def get_rse_projects():
url = f"{BASE_URL}/opendata/bordeaux-rse/projects"
response = requests.get(url)
if response.status_code == 200:
return response.json()["response"]
else:
st.error(f"Échec de récupération des projets RSE: {response.text}")
return []
# Fonction de récupération des entreprises
def get_engaged_brands():
url = f"{BASE_URL}/opendata/bordeaux-rse/brands"
response = requests.get(url)
if response.status_code == 200:
return response.json()["response"]
else:
st.error(f"Échec de récupération des marques engagées: {response.text}")
return []
# Fonction consolidant les données labels + projets RSE + marques
def get_bziiit_data():
labels = get_labels()
rse_projects = get_rse_projects()
engaged_brands = get_engaged_brands()
bziiit_data = []
# Assurez-vous d'utiliser 'name' pour bziiit data et ajoutez une distinction de type
for label in labels:
bziiit_data.append({
'type': 'label', # Ajout du type
'name': label.get('name', 'Unknown'),
'description': label.get('description', 'Unknown'),
'logo_url': label.get('logo_url', 'Unknown'),
'labels': [label] # Stocke l'objet label entier si nécessaire
})
for project in rse_projects:
bziiit_data.append({
'type': 'project', # Ajout du type
'name': project.get('name', 'Unknown'),
'labels': project.get('labels', []) # Assurez-vous que 'labels' est une liste dans le JSON de réponse
})
for brand in engaged_brands:
bziiit_data.append({
'type': 'brand', # Ajout du type
'name': brand.get('name', 'Unknown'),
'logo_url': brand.get('logo_url', 'Unknown'), # Assurez-vous que 'logo_url' est une URL valide
'description': brand.get('description', 'Unknown'),
'labels': brand.get('labels', [])
})
return bziiit_data
|