Seite 1 von 1

Floppy backup (easy gui)

Verfasst: Montag 4. Juli 2005, 14:39
von raspashoj
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.

Verfasst: Montag 4. Juli 2005, 15:01
von Leonidas
Schön, jedoch würde ich mich über etwas mehr Strukturierung und mehr Kommentare im Quellcode freuen.

Verfasst: Montag 4. Juli 2005, 22:37
von raspashoj
Kommentare kommen noch :)

Was meinst du mit Strukturierung? :shock:

Verfasst: Dienstag 5. Juli 2005, 12:19
von Leonidas
raspashoj hat geschrieben:Was meinst du mit Strukturierung? :shock:
Ab "while True:" ist alles zusammengeworfen, direkt ins Modul, nichtmal in Funktionen.

Verfasst: Dienstag 9. August 2005, 19:01
von raspashoj

Verfasst: Dienstag 9. August 2005, 19:36
von Leonidas
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.

Verfasst: Donnerstag 11. August 2005, 23:46
von 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)' ?

Verfasst: Freitag 12. August 2005, 00:21
von Leonidas
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..

Verfasst: Freitag 12. August 2005, 01:54
von raspashoj
Cool!

Darf ich es bechalten?

Verfasst: Freitag 12. August 2005, 10:30
von Leonidas
Na sicher, deswegen habe ich ja auch den Code geschrieben :D

Verfasst: Sonntag 14. August 2005, 02:39
von raspashoj
Yeey!

Danke :)