Posté(e) le 1 juin 201213 a Pour ceux qui connaissent la chronique de JP Gauffre sur France Info, « il était une mauvaise foi », j'ai pondu un p'tit script python3 pour télécharger les derniers podcasts. Le code : http://www.lateo.net...aise_foi.py.txt renommer de .py.txt à .py Testé sous nux et osx, le script devrait également fonctionner sous win. Vos retours ou corrections (je ne suis pas dev, je fais humblement joujou avec python) sont bienvenus edit: utilisation - donc il faut installer python3 : http://www.python.org/download/ - si on lance le script sans argument, un répertoire sera créé dans ton home. - si on lance le script avec un chemin en argument, c'est là que les podcasts seront téléchargés.
Posté(e) le 1 juin 201213 a Perdu ! Bon je travaille sous Windows XP et Python pour moi c'est un serpent. En même temps chu pas dév... Ce que j'ai fait : J'ai installé Python 3.2.3 téléchargé ici : http://www.python.org/download/releases/3.2.3/ et j'ai pris l'installeur msi ... J'ai téléchargé ton script (click droit sur ton lien puis "enregistrer la cible du lien sous" et enregistré en .py J'ai double-clické sur ton script. Ca a ouvert une fenetre DOS... et ca l'a refermé. Je me suis trompé où ?
Posté(e) le 1 juin 201213 a Auteur J'ai double-clické sur ton script. Ca a ouvert une fenetre DOS... et ca l'a refermé. Je me suis trompé où ? Essaie de commencer par ouvrir un terminal, puis d'exécuter la commande dans ce terminal, genre C:\> chemin\vers\le_script.py ou C:\> cd chemin\vers\dossier\telechargement C:\ chemin\vers\dossier\telechargement > python(3) le_script.py Mais bon, si la fenetre s'est fermée tout de suite, il y a probablement un un truc que je n'ai pas pris en compte pour windows... on en saura plus après que tu aies lancé le script dans ta fenetre dos.
Posté(e) le 1 juin 201213 a Auteur Sur ma boiboite linux ça donne ça: lateo@zbox:~$ cd /usr/local/bin/lateo@zbox:/usr/local/bin$ ./il_etait_une_mauvaise_foi.py*** 20 podcasts disponibles ***↳ Téléchargement du podcast du 01.06.2012 en cours...Podcast du 31.05.2012 déjà téléchargé.[...]Podcast du 26.04.2012 déjà téléchargé.*** Terminé *** et tout est bien créé dans mon home. pareil sur le mac, du moment ou le script est lancé à partir du terminal.
Posté(e) le 1 juin 201213 a Alors... Quand j'ai lancé le script la première fois, il a créé un dossier à la racine de mon profil utilisateur. J'ai lancé le script à la mano et j'obtiens ça : Microsoft Windows XP [version 5.1.2600] © Copyright 1985-2001 Microsoft Corp. C:\>cd documents and settings C:\Documents and Settings>cd monprofil C:\Documents and Settings\monprofil>cd mes documents C:\Documents and Settings\monprofil\Mes documents>il_etait_une_mauvaise_foi.py Traceback (most recent call last): File "C:\Python32\lib\urllib\request.py", line 1135, in do_open h.request(req.get_method(), req.selector, req.data, headers) File "C:\Python32\lib\http\client.py", line 967, in request self._send_request(method, url, body, headers) File "C:\Python32\lib\http\client.py", line 1005, in _send_request self.endheaders(body) File "C:\Python32\lib\http\client.py", line 963, in endheaders self._send_output(message_body) File "C:\Python32\lib\http\client.py", line 808, in _send_output self.send(msg) File "C:\Python32\lib\http\client.py", line 746, in send self.connect() File "C:\Python32\lib\http\client.py", line 724, in connect self.timeout, self.source_address) File "C:\Python32\lib\socket.py", line 404, in create_connection raise err File "C:\Python32\lib\socket.py", line 395, in create_connection sock.connect(sa) socket.error: [Errno 10060] Une tentative de connexion a échoué car le parti con necté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexi on établie a échoué car l'hôte de connexion n'a pas répondu During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Documents and Settings\monprofil\Mes documents\il_etait_une_mauvaise_foi.py" , line 83, in <module> ieumf() File "C:\Documents and Settings\monprofil\Mes documents\il_etait_une_mauvaise_foi.py" , line 34, in ieumf podcasts = etree.parse(urllib.request.urlopen(url_rss)) File "C:\Python32\lib\urllib\request.py", line 138, in urlopen return opener.open(url, data, timeout) File "C:\Python32\lib\urllib\request.py", line 369, in open response = self._open(req, data) File "C:\Python32\lib\urllib\request.py", line 387, in _open '_open', req) File "C:\Python32\lib\urllib\request.py", line 347, in _call_chain result = func(*args) File "C:\Python32\lib\urllib\request.py", line 1155, in http_open return self.do_open(http.client.HTTPConnection, req) File "C:\Python32\lib\urllib\request.py", line 1138, in do_open raise URLError(err) urllib.error.URLError: <urlopen error [Errno 10060] Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certa ine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répo ndu> C:\Documents and Settings\monprofil\Mes documents> A lire tout ça, je me dis que ca marche pas parce que je suis derrière un proxy... non ?
Posté(e) le 1 juin 201213 a Auteur A lire tout ça, je me dis que ca marche pas parce que je suis derrière un proxy... non ? ah, si t'as un proxy c'est probable, ouaip : il n'y a rien dans le script pour les prendre en compte je regarde ça ce soir si j'ai quelques minutes.
Posté(e) le 1 juin 201213 a Auteur bon j'ai modifié à l'arrache, en espérant que l'éditeur online n'ait pas trop déconné http://www.lateo.net/inc/scripts/il_etait_une_mauvaise_foi.py.txt ça devrait trouver et utiliser le proxy http déclaré dans les variables d'environnement de l'OS. ça marche à mon taf' (proxy sans authentification) je pense à ça, mais je ne suis pas persuadé que du coup ça fonctionne encore si on a pas de proxy, vais vérifier ça à la maison ce soir ^^
Posté(e) le 1 juin 201213 a Auteur voilà-voilà, testé et mis à jour. ok à la maison, ok au taf derrière le proxy. J'attends d'éventuelles remontées de nouveaux bugs ou problèmes divers ^^
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.