def __init__(self, parent):
        wx.Notebook.__init__(self, parent, -1, style=wx.BK_DEFAULT)
        self.dictPages = {}

        listePages = [
            (_(u"sauvegarde"), _(u"Sauvegarde"),
             DLG_Sauvegarde.CTRL_Parametres(self,
                                            labelControleNom=_(u"Préfixe")),
             "Sauvegarder_param.png"),
            (_(u"conditions"), _(u"Conditions"), CTRL_Conditions(self),
             "Cocher.png"),
            (_(u"options"), _(u"Options"), CTRL_Options(self), "Options.png"),
        ]

        # ImageList pour le NoteBook
        il = wx.ImageList(16, 16)
        index = 0
        dictImages = {}
        for codePage, labelPage, ctrlPage, imgPage in listePages:
            dictImages[index] = il.Add(
                wx.Bitmap(Chemins.GetStaticPath('Images/16x16/%s' % imgPage),
                          wx.BITMAP_TYPE_PNG))
            index += 1
        self.AssignImageList(il)

        # Création des pages
        index = 0
        for codePage, labelPage, ctrlPage, imgPage in listePages:
            self.AddPage(ctrlPage, labelPage)
            self.SetPageImage(index, dictImages[index])
            self.dictPages[codePage] = {'ctrl': ctrlPage, 'index': index}
            index += 1
示例#2
0
    def OnBoutonOk(self, event):
        """ Lance la correction """
        if self.sauvegardeEffectuee == False:
            dlg = wx.MessageDialog(
                self,
                _(u"Souhaitez-vous sauvegarder votre fichier de données avant la correction (Recommandé) ?"
                  ), _(u"Annulation"),
                wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_QUESTION)
            reponse = dlg.ShowModal()
            dlg.Destroy()

            if reponse == wx.ID_YES:
                from Dlg import DLG_Sauvegarde
                dlg2 = DLG_Sauvegarde.Dialog(self)
                dlg2.ShowModal()
                dlg2.Destroy()
                self.sauvegardeEffectuee = True
            elif reponse == wx.ID_NO:
                self.sauvegardeEffectuee = True
            elif reponse == wx.ID_CANCEL:
                return

        # Lance la correction
        self.ctrl_resultats.Correction()
示例#3
0
        else:
            dlg.Destroy()    
            return None
    except :
        pass
    
    try :
        if os.path.isdir(chemin + _(u"bin/")) :
            UTILS_Config.SetParametre("sauvegarde_cheminmysql", chemin)
            return chemin
    except :
        pass
        
    return None

def CreationFichierLoginTemp(host="", user="", port="3306", password="", nomFichier=""):
    if os.path.isfile(nomFichier) == True :
        os.remove(nomFichier)
    fichier = open(nomFichier, "w")
    fichier.write(u"[client]\nhost=%s\nuser=%s\nport=%s\npassword=%s" % (host, user, port, password))
    fichier.close()


if __name__ == u"__main__":
    app = wx.App(0)
    from Dlg import DLG_Sauvegarde
    frame_1 = DLG_Sauvegarde.Dialog(None)
    app.SetTopWindow(frame_1)
    frame_1.ShowModal()
    app.MainLoop()
示例#4
0
    def Start(self):
        # Annonce rappel de sauvegarde auto
        if len(self.listeSauvegardes) == 0:
            resultat = self.AnnonceRappel()
            return resultat

        # Lancement des sauvegardes
        for dictSauvegarde in self.listeSauvegardes:
            valide = True
            resultat = False

            # Création du nom de la sauvegarde
            prefixe = dictSauvegarde["sauvegarde_nom"]
            dictSauvegarde["sauvegarde_nom"] = u"%s_%s" % (
                dictSauvegarde["sauvegarde_nom"],
                datetime.datetime.now().strftime("%Y%m%d_%H%M"))

            # Vérification des conditions
            if valide == True:
                valide = self.VerificationConditions(dictSauvegarde)

            # Demande de confirmation
            if valide == True and dictSauvegarde["option_demander"] == "1":
                image = wx.Bitmap(
                    Chemins.GetStaticPath("Images/48x48/Sauvegarder.png"),
                    wx.BITMAP_TYPE_ANY)
                message1 = _(
                    u"Souhaitez-vous lancer la procédure de sauvegarde '%s' ?"
                ) % dictSauvegarde["nom"]
                dlg = dialogs.MultiMessageDialog(
                    self.parent,
                    message1,
                    caption=_(u"Sauvegarde automatique"),
                    msg2=None,
                    style=wx.NO | wx.CANCEL | wx.YES | wx.YES_DEFAULT,
                    icon=image,
                    btnLabels={
                        wx.ID_YES: _(u"Oui"),
                        wx.ID_NO: _(u"Non"),
                        wx.ID_CANCEL: _(u"Annuler")
                    })
                reponse = dlg.ShowModal()
                try:
                    dlg.Destroy()
                except:
                    pass
                if reponse == wx.ID_NO:
                    valide = False
                if reponse == wx.ID_CANCEL:
                    return wx.ID_CANCEL

            # Afficher interface
            if valide == True and dictSauvegarde[
                    "option_afficher_interface"] == "1":
                from Dlg import DLG_Sauvegarde
                dlg = DLG_Sauvegarde.Dialog(self.parent,
                                            dictDonnees=dictSauvegarde)
                dlg.ShowModal()
                resultat = dlg.GetResultat()
                dlg.Destroy()

            # Sauvegarde
            if valide == True and dictSauvegarde[
                    "option_afficher_interface"] != "1":
                resultat = self.Sauvegarde(dictSauvegarde)

                if resultat == True and dictSauvegarde[
                        "option_confirmation"] == "1":
                    dlg = wx.MessageDialog(
                        self.parent,
                        _(u"La procédure de sauvegarde '%s' s'est terminée avec succès."
                          ) % dictSauvegarde["nom"], _(u"Sauvegarde"),
                        wx.OK | wx.ICON_INFORMATION)
                    dlg.ShowModal()
                    dlg.Destroy()

                if resultat == False:
                    dlg = wx.MessageDialog(
                        self.parent,
                        _(u"Echec de la procédure de sauvegarde '%s' !") %
                        dictSauvegarde["nom"], _(u"Annulation"),
                        wx.OK | wx.ICON_ERROR)
                    dlg.ShowModal()
                    dlg.Destroy()
                    return wx.ID_CANCEL

            # Sauvegarde de la date de la sauvegarde
            if resultat == True:
                DB = GestionDB.DB()
                DB.ReqMAJ("sauvegardes_auto", [
                    ("date_derniere", str(datetime.date.today())),
                ], "IDsauvegarde", dictSauvegarde["IDsauvegarde"])
                DB.Close()

            # Suppression des sauvegardes obsolètes
            if dictSauvegarde["option_suppression"] != None and dictSauvegarde[
                    "sauvegarde_repertoire"] != None and os.path.isdir(
                        dictSauvegarde["sauvegarde_repertoire"]) == True:
                nbreJours = int(dictSauvegarde["option_suppression"])
                repertoire = dictSauvegarde["sauvegarde_repertoire"]
                listeFichiersPresents = glob.glob(repertoire + "/*")
                for fichier in listeFichiersPresents:
                    nomFichier = os.path.basename(fichier)
                    if (fichier.endswith(".nod") or fichier.endswith(".noc")
                        ) and nomFichier.startswith(prefixe):
                        dateCreationFichier = datetime.date.fromtimestamp(
                            os.path.getctime(fichier))
                        nbreJoursFichier = (datetime.date.today() -
                                            dateCreationFichier).days
                        if nbreJoursFichier >= nbreJours:
                            try:
                                os.remove(fichier)
                            except:
                                pass

        return True