Floppy backup (easy gui)

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
raspashoj
User
Beiträge: 5
Registriert: Montag 4. Juli 2005, 12:48
Kontaktdaten:

Hallo,

das ist mein erstes "ernstes" project in python.

Es ist ein kleiner backup program das ist basiert auf tarfile module mit möglichkeit die einstelungen zu speichern und einlesen.

Der GUI ist basiert auf http://www.ferg.org/easygui/ module.

Sie müsen es von hier nehmen :

http://www.ferg.org/easygui/easygui.py

Sorry für mein schlechtes deutsch , aber ich denke das dieses forum etwas mühe wert ist.

Das file is hier :


http://kudmihovljan.bravehost.com/python/fbu-class.txt

Sie müssen "fbu-class.txt" in "fbu-class.py" umbenennen.
(wegen den Begrenzungen des Web-servers.Keine "*.py")

gruß,

t0Xx

P.S.
Es ist für Linux entwickelt.

Windows Tester und Feedback sind erwünscht.

Deutsche Übersetzung ist auf Wunsch auch möglich.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Schön, jedoch würde ich mich über etwas mehr Strukturierung und mehr Kommentare im Quellcode freuen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
raspashoj
User
Beiträge: 5
Registriert: Montag 4. Juli 2005, 12:48
Kontaktdaten:

Kommentare kommen noch :)

Was meinst du mit Strukturierung? :shock:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

raspashoj hat geschrieben:Was meinst du mit Strukturierung? :shock:
Ab "while True:" ist alles zusammengeworfen, direkt ins Modul, nichtmal in Funktionen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Find ich interessant, dass wir auch User aus Kroatien haben: Dobar dan!

Ich habe schnell eine Version vom logger zusammengehackt, die das neue logging-Modul nutzt (wenn auch nur einen klitzekleinen Bruchteil dessen Möglichkeiten).

fbu_log.py (ist ein Drop-In Ersatz):

Code: Alles auswählen

#!/usr/bin/env python
# -*- encoding: latin-1 -*- 

import logging
from easygui import msgbox 

class FbuLog(object):
    def __init__(self, logname):
        logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(levelname)s %(message)s',
                    filename=logname + '.log',
                    filemode='a')
    
    def Write(self, logentry, Error="", window=False):
        if Error:
            logging.error(logentry + ' :: ' + Error)
        else:
            logging.info(logentry)
        
        print logentry
        if window:
            msgbox(Entry)
        
        return 0
Edit: Code in einen besseren Zustand gebracht, der vorher war irgendwie Schrott.
Zuletzt geändert von Leonidas am Freitag 12. August 2005, 00:22, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Gast

[quote="Leonidas"]
fbu_log.py (ist ein Drop-In Ersatz):

Code: Alles auswählen

#!/usr/bin/env python
# -*- encoding: latin-1 -*- 

import logging
from easygui import msgbox 

##logging.basicConfig(level=logging.INFO,
##                    format='%(asctime)s %(levelname)s %(message)s',
##                    filename='Event.log',
##                    filemode='a')

class FbuLog(object):
    def __init__(self, logname):
        logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(levelname)s %(message)s',
                    filename=logname + '.log',
                    filemode='a')
    
    def Write(self, logentry, Error="", window = False):
        if Error:
            logging.error(logentry + ' :: ' + Error)
        else:
            logging.info(logentry)
        
        print logentry
        if window == True:
            msgbox(logentry)
        
        return 0

Kleine Frage...Warum ist 'logging.BasicConfig()' erst deklariert auserhalb 'FbuLog(object)' ?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Damit das logging Modul gleich beim import konfiguriert wird und nicht erst wenn die erste Instanz der Klasse erstellt wird. Daduch kann man dann global von welchem Punkt auch immer auf logging.info zugreifen. Es ist eigentlich egal wo man das macht, ich habe es eigentlich erst mal außerhalb der Klasse gemacht. Dann habe ich mir gedacht dass in die Klasse zu verschieben und vergessen den oberen Part zu löschen. Moment, ich editiere das mal..
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
raspashoj
User
Beiträge: 5
Registriert: Montag 4. Juli 2005, 12:48
Kontaktdaten:

Cool!

Darf ich es bechalten?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Na sicher, deswegen habe ich ja auch den Code geschrieben :D
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
raspashoj
User
Beiträge: 5
Registriert: Montag 4. Juli 2005, 12:48
Kontaktdaten:

Yeey!

Danke :)
Antworten