Page 1 sur 1

[Python] Mon premier programme [Résolu]

Publié : dim. 20 août 2017, 18:30
par Joffrey
Bonjour,

J'aimerais avoir votre avis sur un petit programme que j'ai fais en Python pour apprendre à programmer.

https://github.com/jojotango/Blocklist
C'est un script qui va récupérer des listes de bads peers et les les stocker dans une seule blocklist qui sera utilisable par un client torrent.
Comme le fait "Peer Guardian".

J'imagine qu'il doit y avoir beaucoup de choses qui piquent les yeux (Déjà mon anglais :D )
Si vous pourriez me donner des pistes pour m'améliorer, pour le code, pas l'anglais :)

Est ce que je peux structurer le projet de cette manière? Y a t-il des règles?

Comment gérer les chemins des libs persos pour les imports vue qu'elles seront dans /usr/lib et l'excecutable dans /usr/bin ?
Edit: Je pense utiliser "sed" dans un makefile..

Pour le code.. :? Soyez juste!!

Merci, vos conseils me seront précieux

Re: [Python] Mon premier programme

Publié : mar. 29 août 2017, 16:02
par Piczel
Plop,

pour le logger, j'ai codé -à l'arrache, salement- une mini API ici si tu veux :)

Re: [Python] Mon premier programme

Publié : mar. 29 août 2017, 19:51
par Joffrey
Piczel a écrit : mar. 29 août 2017, 16:02 [..] -à l'arrache, salement [..]
Lol, moi je le trouve propre ton code :)

Quand j'ai vu le tuto pour utiliser la lib standard logging..
Là c'est pas vraiment KISS :) Je serais bien partie sur une solution comme la tienne.

Mais je suis sur tombé sur cet article.. Ouf!
Donc du coup je pense avoir un logger potable. Merci

Re: [Python] Mon premier programme

Publié : ven. 01 sept. 2017, 13:30
par Joffrey
Bonjour,

Je pense avoir résolu globalement tous mes problèmes de conceptions
Joffrey a écrit : dim. 20 août 2017, 18:30 Est ce que je peux structurer le projet de cette manière? Y a t-il des règles?
En faite j'étais vraiment à la ramasse dans la conception d'un projet en Python, alors qu'il suffit de créer un module ou un package de plusieurs modules etc...
(En même temps tous le monde fait sa propre sauce dans ce que j'ai vu comme projets open-source, ça facilite pas les choses pour les newbies...)

Code : Tout sélectionner

|---- setup.py
|---- Module
           |---- __init__.py    
           |---- NomDuModule.py
           |    
           |---- Librairie1
           |          |---- __init__.py
           |          |---- fichier1.py
           |          |---- fichier2.py
           |          |---- ...
           |
           |---- Libairie2
           |          |---- __init__.py
           |          |---- ...
Joffrey a écrit : dim. 20 août 2017, 18:30 Comment gérer les chemins des libs persos pour les imports vue qu'elles seront dans /usr/lib et l'excecutable dans /usr/bin ?
Edit: Je pense utiliser "sed" dans un makefile..
En faite setuptools fait bien les choses il met tout dans

Code : Tout sélectionner

/usr/lib/pythonx.x/site-packages/MonModule
et avec le dico "entry-points" de la fonction setup() dans le setup.py il créer un /usr/bin/MaCommand:

Code : Tout sélectionner

    entry_points={
        'console_scripts': [
            'MaCommand = Module:classMain',
        ],
    }
https://packaging.python.org/tutorials/ ... -packages/
Joffrey a écrit : dim. 20 août 2017, 18:30 Pour le code.. :? Soyez juste!!
Ça reste un programme amateur mais il fait son taf, il casse pas tout (même en root :D)
et le must est qu'il décode les chars non ascii, ce que PeerGuardian ne fait pas.