issue70:programmer_en_python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue70:programmer_en_python [2013/05/12 15:48] – [5] fredphil91 | issue70:programmer_en_python [2013/06/18 20:50] (Version actuelle) – [8] fredphil91 | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
The way we left the code, you would run the program and enter in the terminal window the name of a TV show you want information on. Remember, we used the show Continuum. Once you pressed < | The way we left the code, you would run the program and enter in the terminal window the name of a TV show you want information on. Remember, we used the show Continuum. Once you pressed < | ||
- | Le mois dernier, nous avons commencé notre version en ligne de commande d'une bibliothèque pour discuter avec l'API Web TVRAGE. Ce mois-ci, nous allons continuer à ajouter du code à cette bibliothèque. Si vous n'avez pas le code du mois dernier, | + | Le mois dernier, nous avons commencé notre version en ligne de commande d'une bibliothèque pour discuter avec l'API Web TVRage. Ce mois-ci, nous allons continuer à ajouter du code à cette bibliothèque. Si vous n'avez pas le code du mois dernier, |
- | Dans l' | + | Dans l' |
====== 2 ====== | ====== 2 ====== | ||
Ligne 34: | Ligne 34: | ||
• TimeZone** | • TimeZone** | ||
- | La dernière routine que nous avons créée dans la classe était « AfficheResultatsEmission ». Nous allons placer notre prochaine routine juste après, et avant la routine « main ». L' | + | La dernière routine que nous avons créée dans la classe était « AfficheResultatsEmission ». Nous allons placer notre prochaine routine juste après, et avant la routine « main ». L' |
- | • identifiant de l' | + | • identifiant de l' |
- | • nom de l' | + | • nom de l' |
- | • lien de l' | + | • lien de l' |
- | • pays d' | + | • pays d' |
- | • nombre de saisons | + | • nombre de saisons |
- | • image de la série | + | • image de la série |
- | • année de démarrage | + | • année de démarrage |
- | • date de démarrage | + | • date de démarrage |
- | • date de fin | + | • date de fin ; |
- | • état (annulé, rediffusion, | + | • état (annulé, rediffusion, |
- | • classification (fiction, réalité, etc.) | + | • classification (fiction, réalité, etc.) ; |
- | • résumé de la série | + | • résumé de la série |
- | • genre(s) | + | • genre(s) |
- | • durée en minutes | + | • durée en minutes |
- | • nom de la chaîne qui a diffusé pour la première fois | + | • nom de la chaîne qui a diffusé |
- | • pays de la chaîne (c' | + | • pays de la chaîne (c' |
- | • heure de diffusion | + | • heure de diffusion |
- | • jour de diffusion (dans la semaine) | + | • jour de diffusion (dans la semaine) |
- | • fuseau horaire | + | • fuseau horaire. |
====== 3 ====== | ====== 3 ====== | ||
Ligne 85: | Ligne 85: | ||
Maintenant, nous sommes à peu près revenus au code « normal » (affiché au milieu à droite) que vous avez déjà vu. La seule chose un peu différente, | Maintenant, nous sommes à peu près revenus au code « normal » (affiché au milieu à droite) que vous avez déjà vu. La seule chose un peu différente, | ||
- | C'est la fin de cette routine. Maintenant (ci-dessous), | + | C'est la fin de cette routine. Maintenant (ci-dessous), |
Maintenant, nous devons mettre à jour la routine « main » (page suivante, en haut à droite) pour prendre en compte nos deux nouvelles routines. Je donne la routine entière ci-dessous, mais le nouveau code est affiché en noir. | Maintenant, nous devons mettre à jour la routine « main » (page suivante, en haut à droite) pour prendre en compte nos deux nouvelles routines. Je donne la routine entière ci-dessous, mais le nouveau code est affiché en noir. | ||
- | En bas à gauche de la page suivante on voit à quoi devrait ressembler la sortie de « AfficheInfoEmission », en supposant que vous avez choisi « Continuum » comme émission. | + | En bas à gauche de la page suivante, on voit à quoi devrait ressembler la sortie de « AfficheInfoEmission », en supposant que vous avez choisi « Continuum » comme émission. |
====== 5 ====== | ====== 5 ====== | ||
Ligne 108: | Ligne 108: | ||
• Screen Capture Image of Episode (if available)** | • Screen Capture Image of Episode (if available)** | ||
- | Veuillez noter que je ne suis pas l' | + | Veuillez noter que je n' |
- | Ensuite, nous devons travailler sur la routine qui liste les épisodes pour la série. La routine « qui travaille » sera appelé | + | Ensuite, nous devons travailler sur la routine qui liste les épisodes pour la série. La routine « qui travaille » sera appelée |
- | • Saison | + | • Saison |
- | • numéro de l' | + | • numéro de l' |
- | • numéro de l' | + | • numéro de l' |
- | • Numéro | + | • numéro |
- | • Date de diffusion | + | • date de diffusion |
- | • Lien | + | • lien ; |
- | • Titre | + | • titre ; |
- | • Résumé | + | • résumé ; |
- | • Évaluation | + | • évaluation ; |
- | • Capture | + | • capture |
====== 6 ====== | ====== 6 ====== | ||
- | Before we start with the code, it would be helpful to revisit what the episode list request to the API returns. It looks something like that shown on the next page, top right. | + | **Before we start with the code, it would be helpful to revisit what the episode list request to the API returns. It looks something like that shown on the next page, top right. |
The information for each episode is in the “episode” tag – which is a child of “Season” – which is a child of “Episodelist” – which is a child of “Show”. We have to be careful how we parse this. As with most of our “worker” routines this time, the first few lines (below) are fairly easy to understand by now. | The information for each episode is in the “episode” tag – which is a child of “Season” – which is a child of “Episodelist” – which is a child of “Show”. We have to be careful how we parse this. As with most of our “worker” routines this time, the first few lines (below) are fairly easy to understand by now. | ||
Ligne 130: | Ligne 130: | ||
Now we need to look for the “name” and “totalseasons” tags below the “root” tag “Show”. Once we’ve dealt with them, we look for the “Episodelist”, | Now we need to look for the “name” and “totalseasons” tags below the “root” tag “Show”. Once we’ve dealt with them, we look for the “Episodelist”, | ||
- | Now that we have that portion of the data, we deal with the episode specific information (shown below). | + | Now that we have that portion of the data, we deal with the episode specific information (shown below).** |
+ | |||
+ | Avant que nous commencions avec le code, il serait utile de revenir sur ce que l'API retourne lors de la demande de la liste des épisodes. Cela ressemble à ce qui est en haut à droite de la page suivante. | ||
+ | |||
+ | Les informations pour chaque épisode sont dans la balise « épisode » - qui est un enfant de « saison » - qui est un enfant de « ListeEpisodes » - qui est un enfant de « Emission ». Nous devons faire attention à la façon dont nous analysons ceci. Comme avec la plupart de nos routines « utilitaires » de cette fois-ci, les quelques premières lignes (ci-dessous) sont assez faciles à comprendre à présent. | ||
+ | |||
+ | Maintenant, nous devons chercher les balises « Nom » et « SaisonsTotal » en dessous de la balise racine « Emission ». Une fois que nous les avons traitées, nous cherchrons les balises « ListeEpisodes » et « Saison ». Remarquez ci-dessus que la balise « Saison » a un attribut. Vous remarquerez peut-être (dans le code ci-dessus) que nous n' | ||
+ | |||
+ | Maintenant que nous avons cette partie des données, nous traitons les informations spécifiques à l' | ||
====== 7 ====== | ====== 7 ====== | ||
- | All that’s left now (bottom right) is to append the episode specific information (that we’ve put into the dictionary) to our list, and keep going. Once we are done with all the episodes, we return to the calling routine and, as I stated earlier, return three items of data, “ShowName”, | + | **All that’s left now (bottom right) is to append the episode specific information (that we’ve put into the dictionary) to our list, and keep going. Once we are done with all the episodes, we return to the calling routine and, as I stated earlier, return three items of data, “ShowName”, |
- | Next, we need to create our display routine. Again, it’s fairly straightforward. The only thing that you might not recognize is the “if e.has_key(‘keynamehere’)“ lines. This is a check to make sure that there is actually data in the “Rating” and “Summary” variables. Some shows don’t have this information, | + | Next, we need to create our display routine. Again, it’s fairly straightforward. The only thing that you might not recognize is the “if e.has_key(‘keynamehere’)“ lines. This is a check to make sure that there is actually data in the “Rating” and “Summary” variables. Some shows don’t have this information, |
+ | |||
+ | Tout ce qui reste à faire (en bas à droite) est d' | ||
+ | |||
+ | Ensuite, nous devons créer notre routine d' | ||
====== 8 ====== | ====== 8 ====== | ||
- | All that’s left is to update our “main” routine (next page, shown top right). Once again, I’m going to provide the full “main” routine with the newest code in black bold. | + | **All that’s left is to update our “main” routine (next page, shown top right). Once again, I’m going to provide the full “main” routine with the newest code in black bold. |
Now, if you save and run the program, the output of the “GetEpisodeList” and “DisplayEpisodeList” will work. Shown bottom right is a snippet of the Episode information. | Now, if you save and run the program, the output of the “GetEpisodeList” and “DisplayEpisodeList” will work. Shown bottom right is a snippet of the Episode information. | ||
Ligne 146: | Ligne 158: | ||
That’s it for this month. As always, you can find the full source code on pastebin at http:// | That’s it for this month. As always, you can find the full source code on pastebin at http:// | ||
- | I’ll see you next time. Enjoy. | + | I’ll see you next time. Enjoy.** |
+ | |||
+ | Tout ce qui reste à faire est de mettre à jour notre routine « main » (en haut à droite de la page suivante). Encore une fois, je vais donner la routine « main » complète avec le nouveau code en caractères gras. | ||
+ | Maintenant, si vous enregistrez et exécutez le programme, la sortie de « TrouveListeEpisodes » et « AfficheListeEpisodes » va fonctionner. En bas à droite se trouve un extrait de l' | ||
+ | C'est tout pour ce mois-ci. Comme toujours, vous pouvez trouver le code source complet sur pastebin : http:// | ||
- | code en français : | + | Je vous verrai la prochaine fois. Amusez-vous bien. |
- | http:// | + |
issue70/programmer_en_python.1368366490.txt.gz · Dernière modification : 2013/05/12 15:48 de fredphil91