Exemplo n.º 1
0
    def on_Back_up_Database_activate(self, widget):
        """ Si prepara un file zip con il dump del DB """

        if Environment.tipodb == "sqlite":
            msg = _("""NELLA VERSIONE ONE IL BACKUP SI
EFFETTUA COPIANDO IL FILE db CHE SI TROVA NELLA CARTELLA
promogest2 IN /HOME/NOMEUTENTE/ O IN C:/UTENTI/NOMEUTENTE""")
            messageInfo(msg= msg)
        else:
            st = Environment.startdir()
            nameDump = "promoGest3_bkp_"+self.aziendaStr+"_"+ datetime.now().strftime('%d_%m_%Y_%H_%M')+".zip"
            msgg = _("""Il "dump" del database verrà salvato in

    %s
    ed avrà il nome

    %s

    ATTENZIONE!!!! la procedura potrebbe richiedere diversi minuti.""") %(st, nameDump)
            messageInfo(msg= msgg, transient=self.getTopLevel())
            #if response == gtk.RESPONSE_OK:
            st = Environment.startdir()
            stname = st+nameDump
            os.environ["PGPASSWORD"] = Environment.password
            if os.name == "nt":
                PG_DUMP_ESEC = os.path.split(os.path.dirname(__file__))[0]+"\lib\pg_dump_dir\pg_dump.exe"
            elif os.name =="posix":
                PG_DUMP_ESEC = "pg_dump"
            else:
                messageInfo(msg="SU QUESTO SISTEMA OPERATIVO NON SI PUò FARE IL BACKUP DA QUI")
            retcode = call([PG_DUMP_ESEC,
                            "-h",Environment.host,
                            "-p",Environment.port,
                            "-U",Environment.user,
                            "-Z","7",
                            "-f",stname,
                            Environment.database])

            Environment.pg2log.info("STO EFFETTUANDO UN BACKUP DEL FILE %s" %stname)
            if not retcode:
                Environment.pg2log.info("DUMP EFFETTUATO CON SUCCESSO")
                messageInfo(msg="BACKUP EFFETTUATO CON SUCCESSO")
            else:
                messageInfo(msg="BACKUP NON RIUSCITO")
                Environment.pg2log.info("ATTENZIONE DUMP NON RIUSCITO")