wie könnte ich das lösen (bin absoluter anfänger)

Code-Stücke können hier veröffentlicht werden.
Antworten
JackDaniel
User
Beiträge: 4
Registriert: Dienstag 13. April 2010, 12:42

Code: Alles auswählen

def prombt(self, com):
        configfile.save()
        try:
            if (path.exists(self.backuppath) == False):
                makedirs(self.backuppath)
            self.backupdirs = 'FlashBackup'
            if self.finished_createFolder:
                self.session.openWithCallback(self.finished_createFolder, Console, title = _("Backup is running..."), cmdlist = ["%s" % com],finishedCallback = self.backupFinishedCB, closeOnSuccess = True)
ok das script wird auch gestartet und läuft durch

danach wird ja das ausgeführt:

Code: Alles auswählen

    def backupFinishedCB(self,retval = None):
            self.close(True)
was zum ergebniss führt:

Code: Alles auswählen

    def backupDone(self,retval = None):
        if retval is True:
            self.session.open(MessageBox, _("FlashBackup successfully done."), MessageBox.TYPE_INFO, timeout = 10)
        else:
            self.session.open(MessageBox, _("FlashBackup failed."), MessageBox.TYPE_INFO, timeout = 10)
so nun zu meiner frage:
wie bekomme ich es gebacken das wenn das script mit einem fehler stoppt (error 1), das die failed meldung kommt ?

danke für eure hilfe im vorraus

Edit (BlackJack): Quelltext in Code-Tags gefasst.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Dein Beitrag is schwer lesbar. Schau mal hier.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
BlackJack

@JackDaniel: `prombt` sollte vielleicht `prompt` heissen!?

Um welches GUI-Rahmenwerk geht es hier denn? Wir haben da entsprechende Unterforen.

Die Zeilen sind teilweise ein wenig sehr lang. Man sollte sich auf maximal 80 Zeichen pro Zeile beschränken sonst wird's unangenehm beim Lesen.

Klammern sind bei Bedingungen nicht nötig und man sollte Wahrheitswerte weder mit ``==`` und schon gar nicht mit ``is`` mit literalen Wahrheitswerten vergleichen. Bei ``==`` kommt doch nur *wieder* ein Wahrheitswerts heraus, da kann besser gleich den ursprünglichen Wert verwenden und gegebenenfalls mit ``not`` negieren. Bei ``is`` wird auf Objektindentität verglichen und zumindest bei Python 2.x kann es mehr als ein "wahres" Objekt geben, das ist also kein sicherer Vergleich.

Ansonsten verstehe ich die Frage nicht.
JackDaniel
User
Beiträge: 4
Registriert: Dienstag 13. April 2010, 12:42

@Rebecca
ah alles klar :D
danke
Zuletzt geändert von JackDaniel am Dienstag 13. April 2010, 13:30, insgesamt 1-mal geändert.
JackDaniel
User
Beiträge: 4
Registriert: Dienstag 13. April 2010, 12:42

BlackJack hat geschrieben:@JackDaniel: `prombt` sollte vielleicht `prompt` heissen!?
Um welches GUI-Rahmenwerk geht es hier denn? Wir haben da entsprechende Unterforen.
das ist für einen stb (set top box) wo enigma2 drauf läuft
BlackJack hat geschrieben:Ansonsten verstehe ich die Frage nicht.
ich bekomme immer eine positive messagbox, obwohl das script mit einem error 1 stehen geblieben ist

zu den klammern, der inhalt wird dadurch automatisch übersetzt
BlackJack

@JackDaniel: Welches Skript ist wo stehengeblieben?

Klammern übersetzen nichts. Ich sprach von Klammern um Bedingungen, nicht vom Aufruf der `_()`-Funktion.
JackDaniel
User
Beiträge: 4
Registriert: Dienstag 13. April 2010, 12:42

Code: Alles auswählen

    def doBackup(self):
        print "[***FlashBackup***] - start backup..."
        if os_environ["LANGUAGE"] == "de":
            self.flaschCom = "/usr/bin/build-nfi-image_de.sh"
        else:
            self.flaschCom = "/usr/bin/build-nfi-image_en.sh"

        self.flaschCom += ' ' + config.plugins.FlashBackup.backuplocation.value

        if config.plugins.FlashBackup.swap.value != "auto":
            self.flaschCom += ' ' + config.plugins.FlashBackup.swap.value

        self.prompt(self.flaschCom)
[/code]

ok um es besser zu verdeutlichen das kommt davor wo zb. das build-nfi-backup_de.sh aufgerufen wird
damit das erfolgreich durch läuft prüft das script ob drei dateien vorhanden sind welches es zum ausführen benötigt, wenn das nicht der fall ist wird mit exit 1 im script abgebrochen
und für diesen fall hätte ich gerne eine messagbox mit fehler :)

"prompt" hab ich geändert ;)
Antworten