• [^] # Exemple en python

    Posté par . En réponse au message de la puissance de (beep) pour trouver un truc simple en 2 minutes. Évalué à 4.

    #!/usr/bin/env python
    import re
    import sys 
    package = re.compile("^\s*package (\S+)\s*;")
    class JavaFile:
     def __init__(self,location):
     self.location = location
     
     def dirName(self):
     """
     Retourne le nom du package en se basant sur
     le nom du fichier.
     Note: le nom du fichier doit etre de la forme
     ./repertoires/associes/au/paquetage/fichier.java
     """
     return '.'.join(self.location.split('/')[1:-1])
     
     def packageName(self):
     """
     Retourne le nom du package specifie dans le code source
     """
     f=open(self.location,'r')
     lines=f.readlines()
     f.close()
     for line in lines:
     if package.match(line):
     return package.match(line).group(1)
     
     def isValid(self):
     """
     Retourne vrai ou faux selon que le nom
     du package specifie dans le code source
     corresponde a l'emplacement du fichier
     """
     return len(self.dirName())==len(self.packageName())
     
     
     
    if __name__=="__main__": 
     javaFile = JavaFile(sys.argv[1]) 
     if not javaFile.isValid():
     print "%s is not valid." % sys.argv[1]