flotpython / course

Contenu pédagogique du MOOC Python3 sur fun-mooc.fr
Other
130 stars 22 forks source link

Exercice ShipDict : l'option -z (--gzip) de merger.py ne fonctionne pas #45

Closed aollier closed 3 years ago

aollier commented 3 years ago
$ python3 merger.py --gzip json/*
Opening ALL_SHIPS.txt for listing ships
Opening ALL_SHIPS.kmz for ship ALL_SHIPS
Something went wrong, <class 'ValueError'>, Argument 'newline' not supported in binary mode
Traceback (most recent call last):
  File "merger.py", line 188, in main
    kml_filename = self.write_kml_output(ships, output_name)
  File "merger.py", line 126, in write_kml_output
    with gzip.open(kml_filename, 'w', newline="\n") if self.args.gzip \
  File "/usr/lib/python3.8/gzip.py", line 54, in open
    raise ValueError("Argument 'newline' not supported in binary mode")
ValueError: Argument 'newline' not supported in binary mode
$ python3 merger.py -z json/*
Opening ALL_SHIPS.txt for listing ships
Opening ALL_SHIPS.kmz for ship ALL_SHIPS
Something went wrong, <class 'ValueError'>, Argument 'newline' not supported in binary mode
Traceback (most recent call last):
  File "merger.py", line 188, in main
    kml_filename = self.write_kml_output(ships, output_name)
  File "merger.py", line 126, in write_kml_output
    with gzip.open(kml_filename, 'w', newline="\n") if self.args.gzip \
  File "/usr/lib/python3.8/gzip.py", line 54, in open
    raise ValueError("Argument 'newline' not supported in binary mode")
ValueError: Argument 'newline' not supported in binary mode
parmentelat commented 3 years ago

sans regarder le code, ça ressemble à un paramètre qu'on passe au moment de forker gzip, et ça pourrait dater du passage de Python2 à Python3; rien de bien méchant à corriger, si un volontaire voulait s'en occuper :)

aollier commented 3 years ago

Je vais m'y coller. Je ne sais pas combien de temps ça va me prendre parce que je dois regarder dans le détail, trouver, corriger et tester.

parmentelat commented 3 years ago

ce bug est là depuis plusieurs années sans que personne ne s'en soit plaint avant toi, il n'y aucune espèce d'urgence :)