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
|
#! /usr/bin/env python3
# -*- coding: utf8 -*-
#Import ###########################
from urllib.request import urlopen
import json
from pprint import pprint
#End Import #######################
#Start Code ##################################################################
verbe = input("Saisir un verbe :")
URL = "http://api.wordreference.com/a7c51/json/enfr/" + verbe
search = urlopen(URL)
search.status
assert search.status == 200
content_type = search.getheader('content-type')
print(content_type)
mime_type, encoding = content_type.split(';')
assert mime_type == 'application/json'
#Le _, est un nom de variable utilisée pour jeté une partie du résultat
_, encoding = encoding.split('=')
print(encoding)
#Récupère le contenu
content = search.read()
assert type(content) == bytes
#Décode le contenu
text = content.decode(encoding)
assert type(text) == str
translations = json.loads(text)
for key in sorted(translations):
if not key.startswith('term'):
continue
principal_translations = translations[key]["PrincipalTranslations"]
i = 0
print ("traductions principales : \n")
while True:
try:
translation = principal_translations[str(i)]
except KeyError:
break
i = str(i)
print(i +". "+ translation["OriginalTerm"]["term"] + " /" + translation["OriginalTerm"]["POS"] + "/" + " ("+ translation["OriginalTerm"]["sense"] + "):" + "\n\t" + translation["FirstTranslation"]["term"] + " /" + translation["FirstTranslation"]["POS"] + "/" + " (" + translation["FirstTranslation"]["sense"] + ")"+ "\n\t" + translation["SecondTranslation"]["term"] + " /" + translation["SecondTranslation"]["POS"] + "/" + " (" + translation["SecondTranslation"]["sense"] + ")")
i=int(i)
i += 1
principal_translations = translations[key]["AdditionalTranslations"]
i = 0
print ("\ntraductions secondaires : \n")
while True:
try:
translation = principal_translations[str(i)]
except KeyError:
break
if ["SecondTranslation"] in [i]:
i = str(i)
print("traductions principales : \n" + i +". "+ translation["OriginalTerm"]["term"] + " /" + translation["OriginalTerm"]["POS"] + "/" + " ("+ translation["OriginalTerm"]["sense"] + "):" + "\n\t" + translation["FirstTranslation"]["term"] + " /" + translation["FirstTranslation"]["POS"] + "/" + " (" + translation["FirstTranslation"]["sense"] + ")"+ "\n\t" + translation["SecondTranslation"]["term"] + " /" + translation["SecondTranslation"]["POS"] + "/" + " (" + translation["SecondTranslation"]["sense"] + ")")
else:
i = str(i)
print(i +". "+ translation["OriginalTerm"]["term"] + " /" + translation["OriginalTerm"]["POS"] + "/" + " ("+ translation["OriginalTerm"]["sense"] + "):" + "\n\t" + translation["FirstTranslation"]["term"] + " /" + translation["FirstTranslation"]["POS"] + "/" + " (" + translation["FirstTranslation"]["sense"] + ")")
i=int(i)
i += 1 |
Partager