Guest User

Untitled

a guest
Jun 18th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.96 KB | None | 0 0
  1. #!usr/bin/env python
  2. #-*- coding: Latin-1 -*-
  3. #
  4. ###Script d'installation paquets.
  5. ### Version 0.1 (beta)
  6. ### Par Sliboune sur Ubuntu 12.04 beta
  7. ###
  8. #
  9.  
  10. import os
  11. import time
  12.  
  13. ###Création de la classe maître. ###
  14. class Application(object):
  15.     """Classe acceuil du programme""" ###Documentation de la classe (à revoir?). ###
  16.    
  17.     ###Définition de la méthode constructrice. ###
  18.     def __init__(self):
  19.         """Méthode constructrice"""
  20.        
  21.         ###Informations principales. (à revoir?). ###
  22.         self.version = "Programme installation python version 0.1 (BETA)"                   ### Simple message de la version du programme.###
  23.        
  24.    
  25.     #Définition d'une fonction pour aiguiller le programme selon le choix de l'utilisateur. ###
  26.     def aiguillage(self):
  27.         """Détermination du choix de l'utilisateur"""                                      ### Documentation accessible via master.aiguillage.__doc__. ###
  28.        
  29.         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. ###
  30.        
  31.         if choix.lower() == "s":        ### Force casse minuscule. ###
  32.             self.suppression()          ### Appel de la fonction suppression(self). ###
  33.         if choix.lower() == "i":        ### Force casse minuscule. ###
  34.             self.installation()         ### Appel de la fonction installation(self). ###
  35.         else:
  36.             quit("Aucune entrée clavier n'a été détéctée")    ###Arrêt du programme avec message. ###
  37.    
  38.    
  39.     ###Définition d'une fonction pour la suppression (et) la purge du paquet séléctionné par l'utilisateur. ###
  40.     def suppression(self):
  41.         """Suppression (et) purge du paquets""" ###Documentation de la fonction. ###
  42.        
  43.         choix = raw_input("Nom du paquet a supprimmer?:     ")      ### Choix du paquet à supprimer. ###
  44.            
  45.         choix_purge = raw_input("Voulez-vous purger les fichiers de configurations?:[O]ui,[N]on:    ")  ###Purge des paquets de configurations. (si possible). ###
  46.  
  47.         print "Traitement de la demande..."     ### Simple message via l'instruction print. ###
  48.        
  49.         if choix_purge.lower() == "n"###Force casse minuscule###
  50.             ### Prévention d'une erreur possible. ###
  51.             try:
  52.                 commande = os.popen("sudo apt-get -y remove "+choix)
  53.                
  54.             ### Bloc à exécuter en cas d'erreur. ###
  55.             except:
  56.                 quit("Impossible de supprimer le paquets")
  57.            
  58.            
  59.         elif choix_purge.lower() == "o":
  60.            
  61.             try:
  62.                 commande = os.popen("sudo apt-get -y purge "+choix)
  63.                
  64.             except:
  65.                 print "Une erreur est survenue...Fin du programme installation python"
  66.  
  67.        
  68.         #Traitement de la commande.
  69.         lecture_commande = commande.read()
  70.        
  71.         if "Suppression de "+choix in lecture_commande:
  72.             print "La suppression de votre paquet "+choix+" est terminée."
  73.            
  74.         if "Le paquet "+choix+" n'est pas installé" in lecture_commande:
  75.             print "Le paquet n'est pas installé, donc il ne peut pas être supprimer"
  76.    
  77.    
  78.     #Définition d'une fonction installation pour traiter l'installation du paquet séléctionné.     
  79.     def installation(self):
  80.         """Installation du paquet selectionne"""
  81.        
  82.         self.choix = raw_input("Nom du paquet a installer?:     ")
  83.            
  84.         print "Traitement de la demande..."
  85.        
  86.         try:
  87.             commande = os.popen("sudo apt-get -y install "+self.choix)
  88.         except:
  89.             quit("Installation du paquets impossible...")
  90.            
  91.         #Traitement de la commande.
  92.         lecture_commande = commande.read()
  93.        
  94.         if self.choix+" est déjà la plus récente version disponible" in lecture_commande:
  95.            
  96.             print "Le paquets que vous avez choisit est déjà installé"
  97.             print "Recherche du paquet "+self.choix
  98.            
  99.             time.sleep(3)       ### Permet de lire avant que le gros pavé de la commande locate gache tout :/ (un raw_input serrait peut être mieux?). ###
  100.            
  101.             recherche = os.popen("locate "+self.choix)
  102.             lecture_recherche = recherche.readlines()
  103.            
  104.             for x in lecture_recherche:         ### Petite boucle (for) pour lire ligne/ligne (lecture_recherche). ###
  105.                 print x
  106.                
  107.         else:
  108.             print "L'installation est terminée..."
  109.            
  110.             choix_reinstall = raw_input("Voulez-vous le réinstaller?:  [O]ui,[N]on:    ")
  111.            
  112.             if choix_reinstall.lower() == "o":
  113.                 self.reinstallation()
  114.                
  115.             elif choix_reinstall.lower() == "n":
  116.                 quit("Fin du programme")
  117.                
  118.    
  119.    
  120.     def reinstallation(self):
  121.         """Reinstallation du paquet selectionne"""
  122.        
  123.         try:
  124.             commande = os.popen("sudo apt-get install --reinstall "+self.choix)
  125.         except:
  126.             quit("Une erreur est survenue durant la reinstallation")
  127.        
  128.         #Traitement de la commande.
  129.         lecture_commande = commande.read()
  130.            
  131.         print "Le paquet a été réinstallé avec succès...fermeture du programme..."
  132.         time.sleep(3)   ### Permet de lire la dérniére phrase avant fermeture du terminal. (à revoir?). ###
  133.        
  134. if __name__ == '__main__':      ### J'ai pas tout compris mais ça dois servir à quelquechose :D. ###
  135.    
  136.     master = Application()      ### Remplacement du fameux (self.) par master. ###
  137.    
  138.     print master.version        ### Affichage de la version du logiciel. ###
  139.    
  140.     master.aiguillage()         ### Et c'est parttttttttttiiiiiiiiissssssssss. ###
Add Comment
Please, Sign In to add comment