Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!usr/bin/env python
- #-*- coding: Latin-1 -*-
- #
- ###Script d'installation paquets.
- ### Version 0.1 (beta)
- ### Par Sliboune sur Ubuntu 12.04 beta
- ###
- #
- import os
- import time
- ###Création de la classe maître. ###
- class Application(object):
- """Classe acceuil du programme""" ###Documentation de la classe (à revoir?). ###
- ###Définition de la méthode constructrice. ###
- def __init__(self):
- """Méthode constructrice"""
- ###Informations principales. (à revoir?). ###
- self.version = "Programme installation python version 0.1 (BETA)" ### Simple message de la version du programme.###
- #Définition d'une fonction pour aiguiller le programme selon le choix de l'utilisateur. ###
- def aiguillage(self):
- """Détermination du choix de l'utilisateur""" ### Documentation accessible via master.aiguillage.__doc__. ###
- choix = raw_input("Que voulez-vous faire?: [S]uppression,[I]nstallation: ") ### Saisie utilisateur, (raw_input), but: récupérer des données/informations pour un futur traitement. ###
- if choix.lower() == "s": ### Force casse minuscule. ###
- self.suppression() ### Appel de la fonction suppression(self). ###
- if choix.lower() == "i": ### Force casse minuscule. ###
- self.installation() ### Appel de la fonction installation(self). ###
- else:
- quit("Aucune entrée clavier n'a été détéctée") ###Arrêt du programme avec message. ###
- ###Définition d'une fonction pour la suppression (et) la purge du paquet séléctionné par l'utilisateur. ###
- def suppression(self):
- """Suppression (et) purge du paquets""" ###Documentation de la fonction. ###
- choix = raw_input("Nom du paquet a supprimmer?: ") ### Choix du paquet à supprimer. ###
- choix_purge = raw_input("Voulez-vous purger les fichiers de configurations?:[O]ui,[N]on: ") ###Purge des paquets de configurations. (si possible). ###
- print "Traitement de la demande..." ### Simple message via l'instruction print. ###
- if choix_purge.lower() == "n": ###Force casse minuscule###
- ### Prévention d'une erreur possible. ###
- try:
- commande = os.popen("sudo apt-get -y remove "+choix)
- ### Bloc à exécuter en cas d'erreur. ###
- except:
- quit("Impossible de supprimer le paquets")
- elif choix_purge.lower() == "o":
- try:
- commande = os.popen("sudo apt-get -y purge "+choix)
- except:
- print "Une erreur est survenue...Fin du programme installation python"
- #Traitement de la commande.
- lecture_commande = commande.read()
- if "Suppression de "+choix in lecture_commande:
- print "La suppression de votre paquet "+choix+" est terminée."
- if "Le paquet "+choix+" n'est pas installé" in lecture_commande:
- print "Le paquet n'est pas installé, donc il ne peut pas être supprimer"
- #Définition d'une fonction installation pour traiter l'installation du paquet séléctionné.
- def installation(self):
- """Installation du paquet selectionne"""
- self.choix = raw_input("Nom du paquet a installer?: ")
- print "Traitement de la demande..."
- try:
- commande = os.popen("sudo apt-get -y install "+self.choix)
- except:
- quit("Installation du paquets impossible...")
- #Traitement de la commande.
- lecture_commande = commande.read()
- if self.choix+" est déjà la plus récente version disponible" in lecture_commande:
- print "Le paquets que vous avez choisit est déjà installé"
- print "Recherche du paquet "+self.choix
- time.sleep(3) ### Permet de lire avant que le gros pavé de la commande locate gache tout :/ (un raw_input serrait peut être mieux?). ###
- recherche = os.popen("locate "+self.choix)
- lecture_recherche = recherche.readlines()
- for x in lecture_recherche: ### Petite boucle (for) pour lire ligne/ligne (lecture_recherche). ###
- print x
- else:
- print "L'installation est terminée..."
- choix_reinstall = raw_input("Voulez-vous le réinstaller?: [O]ui,[N]on: ")
- if choix_reinstall.lower() == "o":
- self.reinstallation()
- elif choix_reinstall.lower() == "n":
- quit("Fin du programme")
- def reinstallation(self):
- """Reinstallation du paquet selectionne"""
- try:
- commande = os.popen("sudo apt-get install --reinstall "+self.choix)
- except:
- quit("Une erreur est survenue durant la reinstallation")
- #Traitement de la commande.
- lecture_commande = commande.read()
- print "Le paquet a été réinstallé avec succès...fermeture du programme..."
- time.sleep(3) ### Permet de lire la dérniére phrase avant fermeture du terminal. (à revoir?). ###
- if __name__ == '__main__': ### J'ai pas tout compris mais ça dois servir à quelquechose :D. ###
- master = Application() ### Remplacement du fameux (self.) par master. ###
- print master.version ### Affichage de la version du logiciel. ###
- master.aiguillage() ### Et c'est parttttttttttiiiiiiiiissssssssss. ###
Add Comment
Please, Sign In to add comment