Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Au secours ! On n'a pas de projet en Python dans ma boite !

Au secours ! On n'a pas de projet en Python dans ma boite !

Talk given at Pyconfr 2016. Find source on Github: https://github.com/rtouze/slides_pyconfr_2016

42fba274366594c2024ae2623f6561af?s=128

Romain TOUZE

November 24, 2016
Tweet

Transcript

  1. None
  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. Livré avec les piles Aujourd’hui vient avec PIP Multi­plateforme Simple

    à prendre en main
  9. None
  10. None
  11. ensemble1 = set((l.strip() for l in open("fichier1").readlines())) ensemble2 = set((l.strip()

    for l in open("fichier2").readlines())) with open("difference.txt", "w") as f: f.write('\n'.join(sorted(ensemble1.difference(ensemble2))))
  12. None
  13. Je récupère le WSDL Je récupère la documentation code au

    format XML Je croise le tout pour sortir du HTML Je transforme ça en Word avec pandoc
  14. requests BeautifulSoup Pandoc

  15. None
  16. None
  17. Contexte : traitement d’alimentation d’un entrepôt de données Une méthode

    par type de vérification Le Python scanne les méthodes et leurs paramètres Il me les traduit en tests dans un fichier texte J’ai plus qu’à copier coller dans l’outil et valider les campagnes de tests (merci Vim)
  18. Contexte : test d’API REST Mes cas de tests sont

    stockés sous forme de listes et de dicts dans un fichier Python. Ils sont récupérés par des tests py.test pour tester l’API Ils sont traduits en cas de test que je peux copier coller dans l’outil
  19. Les piles de python… Requests pour les tests d’API Vim

    pour aller vite dans les copier coller :­)
  20. None
  21. None
  22. Mise en place d’un logger pour tracer nos appels avec

    un formalisme précis Transformation en représentation sous forme de fichier plat Utilisation de seqdiag
  23. None
  24. Je me contente de saisir le nombre de jours par

    livrable. Je code le calcul du devis financier et la génération du document.
  25. None
  26. Ce qu’on faisait avant : Exporter la liste des tâches

    en CSV depuis Excel. Virer les accents, les lignes multiples, les virgules. Charger en deux fois avec l’outil d’import CSV de la forge. Rager parce que ça na pas marché et qu’il faut revoir le CSV.
  27. Je suis passé par là… Récupèration des infos dans le

    fichier Excel. Création de la hierarchie de tâches dans l’outil en utilisant l’API SOAP.
  28. openpyxl SUDS

  29. None
  30. Ce qu’on faisait avant : On obligeait les gens à

    indiquer dans le ticket les dates de création, prise en compte, livraison. On copiait les tickets dans une feuille Excel. On faisait de la « magie » pour sortir des indicateurs.
  31. Je suis passé par là… Récupération des tickets au travers

    de l’API SOAP. Calcul des temps de traitement en fonction des dates de changements d’état des tickets. Génération d’un csv (à l’époque) chargé dans Excel.
  32. Du fun ! J’ai beaucoup appris et partagé sur Python

    Je suis identifié comme référent Des réticences
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. Est­ce que j'ai une API ? Une CLI ? Est­ce

    qu'il y a un risque d'erreur ? Est­ce récurrent ? Est­ce que le livrable sera utilisé ?
  40. None
  41. openpyxl SUDS requests BeautifulSoup py.test pandoc

  42. None
  43. Automate the boring stuff with Python

  44. David Beazley: Discovering Python ­ PyCon 2014

  45. None