Skip to content
Snippets Groups Projects
Commit 8eafa539 authored by Mathieu Loiseau's avatar Mathieu Loiseau
Browse files

Add parameters for ensure ascii

parent 87be2a90
No related branches found
No related tags found
No related merge requests found
......@@ -394,23 +394,42 @@ class Wikstraktor:
pass#in subclass
def __str__(self):
return self.export()
def export(self, ascii=False, compact=False):
res = []
for e in self.entries:
res.append(e.serializable())
return json.dumps(res, ensure_ascii=False, indent=2)
if compact:
return json.dumps(res, ensure_ascii=ascii)
else:
return json.dumps(res, ensure_ascii=ascii, indent=4)
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description="Interroger un wiktionnaire")
from argparse import RawTextHelpFormatter #pour le formattage de l'aide
parser = argparse.ArgumentParser(formatter_class=RawTextHelpFormatter, description="""Interroger un wiktionnaire
\033[1m\033[32mex :\033[0m
\033[0m\033[32m./wikstraktor.py -m blue\033[0m
\033[0m\033[32m./wikstraktor.py -m blue -f blue.json -A -C\033[0m
\033[0m\033[32m./wikstraktor.py -l en -w fr -m blue -f blue.json -A -C\033[0m""")
parser.add_argument("-l", "--language", help="la langue du mot", type=str, default = "en")
parser.add_argument("-w", "--wiki_language", help="la langue du wiki", type=str, default = "en")
parser.add_argument("-m", "--mot", help="le mot à chercher", type=str, default=None)
parser.add_argument("-f", "--destination_file", help="le fichier dans lequel stocker le résultat", type=str, default=None)
parser.add_argument("-A", "--force_ascii", help="json avec que des caractères ascii", action="store_true")
parser.add_argument("-C", "--compact", help="json sans indentation", action="store_true")
args = parser.parse_args()
if args.mot != None:
w = Wikstraktor.get_instance(args.wiki_language, args.language)
resp = None
if w.fetch(args.mot) > 0:
resp = w.__str__()
print(resp)
resp = w.export(args.force_ascii, args.compact)
if args.destination_file != None:
f = open(args.destination_file, "w")
f.write(resp)
f.close
else:
print(resp)
else:
raise NameError("Pas de mot demandé")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment