Пример #1
0
    def Importer(self, event=None):
        # Ouverture de la fenêtre de dialogue
        wildcard = _(u"Module python (*.py)|*.py|Tous les fichiers (*.*)|*.*")
        sp = wx.StandardPaths.Get()
        dlg = wx.FileDialog(self,
                            message=_(u"Choisissez une extension à importer"),
                            defaultDir=sp.GetDocumentsDir(),
                            defaultFile="",
                            wildcard=wildcard,
                            style=wx.FD_OPEN)
        if dlg.ShowModal() == wx.ID_OK:
            nomFichierCourt = dlg.GetFilename()
            nomFichierLong = dlg.GetPath()
            dlg.Destroy()
        else:
            dlg.Destroy()
            return

        # Cherche si le fichier
        fichier = codecs.open(nomFichierLong, encoding='iso-8859-15', mode='r')
        texte = "\n".join(fichier.readlines())
        fichier.close()
        if "def Extension(" not in texte:
            dlg = wx.MessageDialog(
                self,
                _(u"Cette extension ne semble pas valide.\n\nUne extension est un module Python qui doit obligatoirement contenir une fonction Extension()."
                  ), _(u"Erreur"), wx.OK | wx.ICON_ERROR)
            dlg.ShowModal()
            dlg.Destroy()
            return False

        # Copie le fichier vers le répertoire Extensions
        shutil.copyfile(nomFichierLong,
                        UTILS_Fichiers.GetRepExtensions(nomFichierCourt))
        self.MAJ()
def getFileList():
    """Récupére la liste des fichiers d'extensions"""
    dossierExtensions = UTILS_Fichiers.GetRepExtensions()
    if not os.path.isdir(dossierExtensions):
        return ()
    fichiers = os.listdir(dossierExtensions)
    fichiers.sort()
    return fichiers
Пример #3
0
def getFileVersion(filename):
    path = UTILS_Fichiers.GetRepExtensions(filename)
    try:
        fd = open(path, "r")
        lines = fd.readlines()
        for line in lines:
            if "VERSION =" in line:
                return line.split('"')[1]
        return None
    except Exception:
        return None
Пример #4
0
    def Executer(self, event=None):
        if self.GetSelection() == -1:
            dlg = wx.MessageDialog(self, _(u"Aucune extension n'a été sélectionnée dans la liste !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return False

        # Exécution de l'extension
        nom_fichier = self.GetStringSelection()
        sys.path.append(UTILS_Fichiers.GetRepExtensions())
        module = importlib.import_module(nom_fichier)
        module.Extension()
Пример #5
0
    def Supprimer(self, event=None):
        if self.GetSelection() == -1:
            dlg = wx.MessageDialog(self, _(u"Aucune extension n'a été sélectionnée dans la liste !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return False

        nom_fichier = self.GetStringSelection()
        dlg = wx.MessageDialog(self, _(u"Souhaitez-vous vraiment supprimer l'extension '%s' ?") % nom_fichier, _(u"Suppression"), wx.YES_NO|wx.NO_DEFAULT|wx.CANCEL|wx.ICON_EXCLAMATION)
        reponse = dlg.ShowModal()
        dlg.Destroy()
        if reponse != wx.ID_YES :
            return False
        os.remove(UTILS_Fichiers.GetRepExtensions(nom_fichier + ".py"))
        self.MAJ()
Пример #6
0
    def MAJ(self, IDactivite=None):
        # Recherche d'extensions dans le répertoire
        ext = "py"
        fichiers = os.listdir(UTILS_Fichiers.GetRepExtensions())
        fichiers.sort()
        listeExtensions = []
        for fichier in fichiers:
            if fichier.endswith(ext):
                nomFichier = os.path.split(fichier)[1]
                titre = nomFichier[:-(len(ext) + 1)]
                listeExtensions.append(titre)

        listeItems = []
        self.Clear()
        if len(listeExtensions) > 0:
            self.Set(listeExtensions)
            self.Select(0)
Пример #7
0
def updateExtension(extension):
    filename = UTILS_Fichiers.GetRepExtensions(extension)
    if DEV:
        content = subprocess.check_output(
            ["git", "cat-file", "--textconv", "--", "HEAD:" + extension],
            cwd=DEV)
        fd = open(filename, "w")
        fd.write(content)
        fd.close()
        return True
    url = githubUrl(extension)
    renamed = False
    if os.path.exists(filename):
        renamed = True
        os.rename(filename, filename + ".old")
    urllib.request.urlcleanup()
    urllib.request.urlretrieve(url, filename)
    if renamed:
        os.remove(filename + ".old")
    return True
import importlib
import wx
import Data
import traceback

VERSION = "_v2.0.2"

ext = "py"
mainFile = "ext_Extensions_automatiques.py"
listeErreurs = {}


# Ajouter la version du bootstrap dans le repertoire des extensions chargées
Data.extensionsAutomatiques = ["Utils__init__" + VERSION]
# Ajouter le repertoire des extensions au PATH
sys.path.append(UTILS_Fichiers.GetRepExtensions())


def getFileList():
    """Récupére la liste des fichiers d'extensions"""
    dossierExtensions = UTILS_Fichiers.GetRepExtensions()
    if not os.path.isdir(dossierExtensions):
        return ()
    fichiers = os.listdir(dossierExtensions)
    fichiers.sort()
    return fichiers


def launch(fichier):
    """Execute les Initialisation des extensions et collecte les erreurs"""
    if not fichier.endswith(ext):
Пример #9
0
def deleteExtension(extension):
    filename = UTILS_Fichiers.GetRepExtensions(extension)
    if os.path.isfile(filename):
        os.remove(filename)