Seite 1 von 1
wie könnte ich das lösen (bin absoluter anfänger)
Verfasst: Dienstag 13. April 2010, 12:52
von JackDaniel
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.
Verfasst: Dienstag 13. April 2010, 13:05
von Rebecca
Dein Beitrag is schwer lesbar.
Schau mal hier.
Verfasst: Dienstag 13. April 2010, 13:22
von 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.
Verfasst: Dienstag 13. April 2010, 13:22
von JackDaniel
@Rebecca
ah alles klar
danke
Verfasst: Dienstag 13. April 2010, 13:29
von JackDaniel
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
Verfasst: Dienstag 13. April 2010, 13:49
von BlackJack
@JackDaniel: Welches Skript ist wo stehengeblieben?
Klammern übersetzen nichts. Ich sprach von Klammern um Bedingungen, nicht vom Aufruf der `_()`-Funktion.
Verfasst: Dienstag 13. April 2010, 14:38
von JackDaniel
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
