[Python] Mon premier programme [Résolu]

Ce qui ne concerne ni le forum ni des problèmes
Avatar de l’utilisateur
Joffrey
Daikyu
Messages : 84
Inscription : mar. 08 sept. 2015, 23:42

[Python] Mon premier programme [Résolu]

Message 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
Dernière modification par Joffrey le dim. 17 sept. 2017, 10:11, modifié 2 fois.
Avatar de l’utilisateur
Piczel
Chu Ko Nu
Messages : 314
Inscription : dim. 03 mai 2015, 19:17
Localisation : Terre du Milieu

Re: [Python] Mon premier programme

Message par Piczel »

Plop,

pour le logger, j'ai codé -à l'arrache, salement- une mini API ici si tu veux :)
lili : Lenovo E540 | ArchLinux
abraham : RaspBerry Pi 3 B | ArchLinux
isaac : RaspBerry Pi 3 B | ArchLinux
Github
The best way to accelerate a computer running Windows is at 9.81m/s²
10 types de geeks, ceux qui savent compter en binaire, et les autres.
Avatar de l’utilisateur
Joffrey
Daikyu
Messages : 84
Inscription : mar. 08 sept. 2015, 23:42

Re: [Python] Mon premier programme

Message 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
Avatar de l’utilisateur
Joffrey
Daikyu
Messages : 84
Inscription : mar. 08 sept. 2015, 23:42

Re: [Python] Mon premier programme

Message 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.
Répondre