Outils pour utilisateurs

Outils du site


issue108:c_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue108:c_c [2016/05/09 09:12] auntieeissue108:c_c [2016/05/09 12:05] (Version actuelle) auntiee
Ligne 105: Ligne 105:
 Fonction : createArticleList Fonction : createArticleList
  
-Cette fonction utilise os.listdir et quelques recherches regexp pour ne tenir compte que de mes articles. Puisque le titre de mes articles a toujours le format FCM100 - C&C - Titre, je m'assure simplement que le nom du fichier commence bien avec FCM[0-9]+ (un ou plusieurs nombres après FCM). Je vérifie également qu'il ne contient pas .desktop (c'est important pour Drive puisque chaque fichier est accompagné d'un .desktop). Une fois que les listes ont été ajoutées à output [Ndt : la variable de sortie], la liste n'est pas simple (elle comprend un grand nombre de sous-listes). C'est ce que résout la ligne 54.+Cette fonction utilise os.listdir et quelques recherches regexp pour ne tenir compte que de mes articles. Puisque le titre de mes articles a toujours le format FCM100 - C&C - Titre, je m'assure simplement que le nom du fichier commence bien par FCM[0-9]+ (un ou plusieurs nombres après FCM). Je vérifie également qu'il ne contient pas .desktop (c'est important pour Drive puisque chaque fichier est accompagné d'un .desktop). Une fois que les listes ont été ajoutées à output [Ndt : la variable de sortie], la liste n'est pas simple (elle comprend un grand nombre de sous-listes). C'est ce que résout la ligne 54.
  
-La ligne 59 supprime toutes les extensions .odt de la liste (puisque les fichiers de Google Drive n'ont pas d'extension et que j'utilisais .odt au début). Enfin, j'utilise la même fonction de remplacement pour transformer les Command & Conquer en C&C - ce n'est pas absolument nécessaire mais offre une certaine uniformité.+La ligne 55 supprime toutes les extensions .odt de la liste (puisque les fichiers de Google Drive n'ont pas d'extension et que j'utilisais .odt au début). Enfin, j'utilise la même fonction de remplacement pour transformer les Command & Conquer en C&C - ce n'est pas absolument nécessaire mais offre une certaine uniformité.
  
 La ligne 57 vérifie qu'il n'y a pas de doublon, puisqu'un ensemble Python ne peut contenir que des valeurs uniques. Cela élimine essentiellement tout nom de fichier dupliqué. La ligne 57 vérifie qu'il n'y a pas de doublon, puisqu'un ensemble Python ne peut contenir que des valeurs uniques. Cela élimine essentiellement tout nom de fichier dupliqué.
Ligne 137: Ligne 137:
 C'est le point d'orgue du fichier. Elle lit essentiellement chacune des lignes du fichier article-list.txt  C'est le point d'orgue du fichier. Elle lit essentiellement chacune des lignes du fichier article-list.txt 
 Pour chaque ligne non vide, elle exécute les étapes suivantes :  Pour chaque ligne non vide, elle exécute les étapes suivantes : 
-Découper la ligne selon le séparateur « - » (on obtient ainsi une ligne du genre ['FCM100', 'C&C', 'Title']). +• Découper la ligne selon le séparateur « - » (on obtient ainsi une ligne du genre ['FCM100', 'C&C', 'Title']). 
-Supprime le libellé FCM pour ne conserver que le numéro. +• Supprime le libellé FCM pour ne conserver que le numéro. 
-Crée une entrée, constituée d'une paire clé/valeur vide, dans le dictionnaire. +• Crée une entrée, constituée d'une paire clé/valeur vide, dans le dictionnaire. 
-Complète les informations de cette entrée (si le titre est vide - certains de mes fichiers étaient mal nommés dans le passé -, elle rajoute la chaîne de caractères « Unknown » (inconnu). Elle supprime également d'éventuels caractères de saut de ligne. +• Complète les informations de cette entrée (si le titre est vide - certains de mes fichiers étaient mal nommés dans le passé -, elle rajoute la chaîne de caractères « Unknown » (inconnu). Elle supprime également d'éventuels caractères de saut de ligne. 
-DateFind est chargée de calculer une date estimée de ce numéro. +• dateFind est chargée de calculer une date estimée de ce numéro. 
-Database.update est utilisée pour ajouter (ou mettre à jour) les informations concernant le numéro courant.+• Database.update est utilisée pour ajouter (ou mettre à jour) les informations concernant le numéro courant.
  
 Une fois que la boucle for est terminée, le fichier est refermé, la valeur -1 de la base de données (la valeur originale de entryTemplate) est effacée et la base de données est renvoyée. Une fois que la boucle for est terminée, le fichier est refermé, la valeur -1 de la base de données (la valeur originale de entryTemplate) est effacée et la base de données est renvoyée.
Ligne 150: Ligne 150:
  
 C'est une fonction rapide qui utilise json.dumps pour simplement écrire le dictionnaire dans un fichier JSON. Il l'indente également très bien. C'est une fonction rapide qui utilise json.dumps pour simplement écrire le dictionnaire dans un fichier JSON. Il l'indente également très bien.
- 
  
 Fonction : write_csv_database Fonction : write_csv_database
  
-Cette fonction utilise csv.writer pour créer un fichier CSV valide. La ligne 95 liste toutes les clés d'une entrée (typiquement, l'entrée 100). La liste est alors utilisée pour créer l'en-tête du CSV et pour s'assurer que l'ordre des valeurs est le même que celui des en-têtes et qu'ainsi tout correspond.+Cette fonction utilise csv.writer pour créer un fichier CSV valide. La ligne 95 liste toutes les clés d'une entrée (ici, l'entrée 100). La liste est alors utilisée pour créer l'en-tête du CSV et pour s'assurer que l'ordre des valeurs est le même que celui des en-têtes et qu'ainsi tout correspond.
  
  
Ligne 178: Ligne 177:
 Fonction : main Fonction : main
  
-c'est un endroit où j'appelle le reste des fonctions d'aide (et les problèmes corrigés). Vous pouvez également coller cela dans la zone if__name__==«__main__» mais ma recommandation est d'avoir une fonction main permettant des importations plus simples. +C'est tout simplement un endroit où j'appelle le reste des fonctions d'aide (et les problèmes corrigés). Vous pouvez également coller cela dans la zone if__name__ =="__main__" mais ma recommandation est d'avoir une fonction main permettant des importations plus simples.
  
 Les fonctions Drive Les fonctions Drive
  
-Fonction : CD+Fonction : cd
  
-Cela recrée simplement une fonction cd à partir d'un Bash, mais renvoie également vers le répertoire (directory) original, de façon à ce que la commande d'extraction du disque puisse être exécutée dans le répertoire correct, sans mélanger les écritures suivantes dans les fichiers JSON ou CSV. On la trouvait initialement dans StackOverflow (Voir les lectures complémentaires).+Cela recrée simplement une fonction cd à partir d'un Bash, mais renvoie également vers le répertoire (directory) original, de façon à ce que la commande d'extraction du disque puisse être exécutée dans le répertoire correct, sans mélanger les écritures suivantes dans les fichiers JSON ou CSV. On la trouvait initialement dans StackOverflow (voir les lectures complémentaires).
  
 La fonction : update_drive La fonction : update_drive
Ligne 223: Ligne 221:
  
 Enfin vous pouvez l'ouvrir avec un logiciel tel que Python's Pandas et l'analyser comme vous le souhaitez. Enfin vous pouvez l'ouvrir avec un logiciel tel que Python's Pandas et l'analyser comme vous le souhaitez.
- 
  
 Puis-je faire des recherches ? Puis-je faire des recherches ?
Ligne 229: Ligne 226:
 Vous pouvez soit ouvrir le fichier JSON et rechercher manuellement, ou l'ouvrir avec un outil quelconque d'analyse de données, ou écrire en langage Python une nouvelle fonction de recherche dans les sous-dictionnaires. Vous pouvez soit ouvrir le fichier JSON et rechercher manuellement, ou l'ouvrir avec un outil quelconque d'analyse de données, ou écrire en langage Python une nouvelle fonction de recherche dans les sous-dictionnaires.
  
-J'espère que cet article présentera quelque intérêt, au moins pour un certain nombre de lecteurs. Ou, sinon, vous inspirera de nouveaux projets. Si vous avez des commentaires, suggestions ou idées d'extension, n'hésitez pas à m'envoyer un courriel à mailto:lswest34+fcm@gmail.com.+J'espère que cet article présentera quelque intérêt, au moins pour quelques lecteurs. Ou, sinon, vous inspirera de nouveaux projets. Si vous avez des commentaires, suggestions ou idées d'extension, n'hésitez pas à m'envoyer un courriel à mailto:lswest34+fcm@gmail.com.
  
 Lectures complémentaires Lectures complémentaires
issue108/c_c.1462777921.txt.gz · Dernière modification : 2016/05/09 09:12 de auntiee