issue69: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 | ||
issue69:programmer_en_python [2013/03/27 21:36] – [9] fredphil91 | issue69:programmer_en_python [2013/04/03 19:52] (Version actuelle) – [12] fredphil91 | ||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
3 - Get episode specific information based on ShowID** | 3 - Get episode specific information based on ShowID** | ||
- | La dernière fois, nous avons eu une longue discussion à propos de l'API web TVRAGE. Cette fois-ci, nous allons commencer à écrire du code et à s'en servir. | + | La dernière fois, nous avons eu une longue discussion à propos de l'API web TVRAGE. Cette fois-ci, nous allons commencer à écrire du code et à nous en servir. |
- | Le but de cette partie est de commencer le processus de création de code qui sera un module réutilisable pouvant être importé dans un autre programme python et donnera accès à l'API facilement. | + | Le but de cette partie est de commencer le processus de création de code qui sera un module réutilisable pouvant être importé dans un autre programme python et qui donnera accès à l'API facilement. |
Bien que l'API TVRAGE nous fournisse un certain nombre de possibilités, | Bien que l'API TVRAGE nous fournisse un certain nombre de possibilités, | ||
- | 1 - Rechercher une émission par son nom, et obtenir le ShowID | + | 1. Rechercher une émission par son nom et obtenir le ShowID. |
- | 2 - Obtenir de l' | + | 2. Obtenir de l' |
- | 3 - Obtenir | + | 3. Obtenir |
====== 2 ====== | ====== 2 ====== | ||
Ligne 24: | Ligne 24: | ||
We will create three main routines to make the calls and return the information, | We will create three main routines to make the calls and return the information, | ||
- | La dernière fois, je vous ai montré les appels de l'API « non enregistrée » qui sont accessibles par tout le monde. Cette fois, nous allons utiliser les appels enregistrés - basés sur une clé d' | + | La dernière fois, je vous ai montré les appels de l'API « non enregistrée » qui sont accessibles par tout le monde. Cette fois, nous allons utiliser les appels enregistrés - basés sur une clé d' |
- | Nous allons créer trois programmes principaux pour faire les appels et retourner l' | + | Nous allons créer trois programmes principaux pour faire les appels et retourner l' |
====== 3 ====== | ====== 3 ====== | ||
Ligne 47: | Ligne 47: | ||
- | Voici la liste des routines que nous allons créer (enfin pas toutes pour cette fois. Je veux laisser la place à d' | + | Voici la liste des routines que nous allons créer (enfin pas toutes pour cette fois-ci. Je veux laisser la place à d' |
def TrouverIdParNom(self, | def TrouverIdParNom(self, | ||
Ligne 74: | Ligne 74: | ||
- | La routine TrouverIdParNom prend une chaîne (nomEmission), | + | La routine TrouverIdParNom prend une chaîne (nomEmission), |
- | Nous utiliserons une série de chaînes pour contenir la clé et l'URL de base, puis leur ajouter ce dont nous avons besoin. Par exemple, considérons le code suivant (nous compléterons | + | Nous utiliserons une série de chaînes pour contenir la clé et l'URL de base, puis leur ajouter ce dont nous avons besoin. Par exemple, considérons le code suivant (nous le compléterons plus tard). |
self.CleApi = " | self.CleApi = " | ||
Ligne 98: | Ligne 98: | ||
http:// | http:// | ||
- | Nous combinons la chaîne comme ceci... | + | Nous combinons la chaîne comme ceci : |
chaine = self.ChaineRechercheSerie + self.CleAPI + "& | chaine = self.ChaineRechercheSerie + self.CleAPI + "& | ||
- | Pour les besoins des tests, je vais utiliser une série intitulée « Continuum » qui, si vous ne l'avez jamais vue, est une série géniale de science fiction sur la chaîne canadienne Showcase. J' | + | Pour les besoins des tests, je vais utiliser une série intitulée « Continuum » qui, si vous ne l'avez jamais vue, est une série géniale de science-fiction sur la chaîne canadienne Showcase. J' |
====== 6 ====== | ====== 6 ====== | ||
Ligne 117: | Ligne 117: | ||
http:// | http:// | ||
- | Vous devriez avoir une idée de ce que vous rechercherez dans vos routines d' | + | Vous devriez avoir une idée de ce que vous rechercherez dans vos routines d' |
- | Rechercher en utilisant un nom d' | + | Rechercher en utilisant un nom d' |
http:// | http:// | ||
- | Récupérer des informations sur la série avec le ShowID (sid) | + | Récupérer des informations sur la série avec le ShowID (sid) : |
http:// | http:// | ||
- | Récupérer la liste des épisodes et leurs informations avec le ShowID (sid) | + | Récupérer la liste des épisodes et leurs informations avec le ShowID (sid) : |
http:// | http:// | ||
Ligne 138: | Ligne 138: | ||
You can see that we will be using ElementTree to do the XML parsing, and urllib for the internet communication. The sys library is used for sys.exit.** | You can see that we will be using ElementTree to do the XML parsing, and urllib for the internet communication. The sys library is used for sys.exit.** | ||
- | Maintenant que nous avons vu tous cela, nous allons commencer à écrire le code. | + | Maintenant que nous avons vu tout cela, nous allons commencer à écrire le code. |
- | Vous allez créer un fichier nommé | + | Vous allez créer un fichier nommé |
Nous allons commencer avec nos importations indiquées en haut à droite. | Nous allons commencer avec nos importations indiquées en haut à droite. | ||
Ligne 158: | Ligne 158: | ||
Comme je l'ai dit plus tôt, les quatre premières lignes sont nos chaînes partielles pour construire l'URL de la fonction que nous voulons utiliser. (ChaineListeEpisodes doit être sur une seule ligne.) Les quatre dernières lignes sont l' | Comme je l'ai dit plus tôt, les quatre premières lignes sont nos chaînes partielles pour construire l'URL de la fonction que nous voulons utiliser. (ChaineListeEpisodes doit être sur une seule ligne.) Les quatre dernières lignes sont l' | ||
- | Tout d' | + | Tout d' |
====== 9 ====== | ====== 9 ====== | ||
Ligne 172: | Ligne 172: | ||
Nous allons parcourir chaque groupe d' | Nous allons parcourir chaque groupe d' | ||
- | Je vais expliquer le premier et vous comprendrez le reste. Lorsque nous parcourons les informations, | + | Je vais expliquer le premier et vous comprendrez le reste. Lorsque nous parcourons les informations, |
====== 10 ====== | ====== 10 ====== | ||
- | The next portion (next page, top right) deals with the genre(s) of the show. As you can see from the above XML snippet, this show has four different genres that it fits into. Action, Crime, Drama, and Sci-Fi. We need to handle each. | + | **The next portion (next page, top right) deals with the genre(s) of the show. As you can see from the above XML snippet, this show has four different genres that it fits into. Action, Crime, Drama, and Sci-Fi. We need to handle each. |
- | Finally, we increment the foundcounter variable, and append this dictionary into the list ‘showlist’. Then we start the entire thing over until there is no more XML data. Once everything is done, we return the list of dictionaries (bottom right). | + | Finally, we increment the foundcounter variable, and append this dictionary into the list ‘showlist’. Then we start the entire thing over until there is no more XML data. Once everything is done, we return the list of dictionaries (bottom right).** |
+ | |||
+ | La partie suivante (page suivante, en haut à droite) porte sur le(s) genre(s) de la série. Comme vous pouvez le voir dans l' | ||
+ | |||
+ | Enfin, on incrémente la variable compteurTrouves et on ajoute ce dictionnaire dans la liste « listeEmissions ». Ensuite, nous recommençons le processus jusqu' | ||
====== 11 ====== | ====== 11 ====== | ||
- | Most of the code is pretty self explanatory. We’ll concentrate on the for loop we use to print out the information. We loop through each item in the list of dictionaries and print a counter variable, the show name (c[‘Name’]), | + | **Most of the code is pretty self explanatory. We’ll concentrate on the for loop we use to print out the information. We loop through each item in the list of dictionaries and print a counter variable, the show name (c[‘Name’]), |
Enter Series Name -> continuum | Enter Series Name -> continuum | ||
Ligne 189: | Ligne 193: | ||
1 - Continuum - 30789 | 1 - Continuum - 30789 | ||
2 - Continuum (Web series) - 32083 | 2 - Continuum (Web series) - 32083 | ||
- | Enter Selection or 0 to exit -> | + | Enter Selection or 0 to exit ->** |
+ | |||
+ | La plupart du code est assez explicite. Nous allons nous concentrer sur la boucle « for » que nous utilisons pour afficher les informations. Nous bouclons sur chaque élément de la liste de dictionnaires et affichons une variable compteur, le nom de l' | ||
+ | |||
+ | Entrer le nom de la série -> continuum | ||
+ | 2 resultat(s) | ||
+ | ------------------------ | ||
+ | 1 - Continuum - 30789 | ||
+ | 2 - Continuum (Web series) - 32083 | ||
+ | Choisir un nombre ou 0 pour quitter | ||
====== 12 ====== | ====== 12 ====== | ||
- | Please remember that the list of items is zero based, so when the user enters ‘1’, they are really asking for dictionary number 0. We do this, because “regular” people think that counting should start with ‘1’ not 0. And we can then use 0 to escape the routine and not make them use ‘Q’ or ‘q’ or ‘-1’. | + | **Please remember that the list of items is zero based, so when the user enters ‘1’, they are really asking for dictionary number 0. We do this, because “regular” people think that counting should start with ‘1’ not 0. And we can then use 0 to escape the routine and not make them use ‘Q’ or ‘q’ or ‘-1’. |
Now, the “main” routine that pulls it all together for us. | Now, the “main” routine that pulls it all together for us. | ||
Ligne 201: | Ligne 214: | ||
Next time, we’ll add the other routines. For now, the code can be found at http:// | Next time, we’ll add the other routines. For now, the code can be found at http:// | ||
- | See you soon. | + | See you soon.** |
+ | Souvenez-vous que la liste des articles commence à zéro, donc lorsque l' | ||
+ | Maintenant, la routine « main » va tout rassembler pour nous. | ||
+ | Pour aujourd' | ||
- | code en français : http:// | + | La prochaine fois, nous ajouterons les autres routines. Pour l' |
+ | À bientôt. |
issue69/programmer_en_python.1364416612.txt.gz · Dernière modification : 2013/03/27 21:36 de fredphil91