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
|
import requests
import webbrowser
""" Statut des réponses
Les codes de retour HTTP de l'API sont : 200 si la requête a été acceptée et que des données sont retournées ; un code de la centaine des 400 si la requête est erronée ou le code 500 s'il y a une erreur du côté du serveur. Les codes suivants sont actuellement utilisés :
200: OK
400: Paramètre manquant, ou valeur incorrecte.
401: Authentification nécessaire (token absent ou invalide)
403: Action non autorisée (URL non autorisée avec votre abonnement)
404: Page inaccessible (URL inconnue)
500: Erreur interne au serveur, contactez-nous
503: L'API est momentanément indisponible, réessayez dans quelques minutes
"""
class ApiNasa:
#copyright = ''
def __init__(self):
#self.copyright = copyright
self.date = date
self.explanation = explanation
self.url_hdimage = url_hdimage
self.url_imageslow = url_imageslow
def format_response_nasa(apod):
#Formattage des informations à recevoir: API NASA
try:
#ApiNasa.copyright = apod ['copyright']
ApiNasa.date = apod ['date']
ApiNasa.explanation = apod ['explanation']
ApiNasa.url_hdimage = apod ['hdurl']
ApiNasa.url_imageslow = apod ['url']
#webbrowser.open_new(url_hdimage)
except KeyError as e:
print('Erreur:',e)
return """"Copyright:\t" + str(copyright) + '\n' +""" "Date:\t\t" + str(ApiNasa.date) + '\n' + "explanation:\t" + str(ApiNasa.explanation) + '\n\n' + "UrlHdImage:\t" + str(ApiNasa.url_hdimage) + '\n' + "UrlImageSlow:\t" + str(ApiNasa.url_imageslow) + '\n'
def get_nasa_api():
# Connexion à l'api de la NASA
nasa_key = 'gygr7huhu8huh986ghggez4'
url_planetary = 'https://api.nasa.gov/planetary/apod?api_key={}'.format(nasa_key)
send_requests = requests.get(url_planetary)
apod_data_json = send_requests.json()
print(apod_data_json)
print(ApiNasa.format_response_nasa(apod_data_json))
#return
def main():
ApiNasa.get_nasa_api()
print(ApiNasa.date)
print(ApiNasa.url_imageslow)
if __name__ == "__main__":
print("\nMy script is directly executed...\n ")
main()
else:
print("My script is imported by an other module... ") |
Partager