Pyedit 1.5

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Pyedit 1.5

Beitragvon Andyh » Freitag 2. Januar 2009, 12:56

Hallo
##############################################################
Pyedit 1.5 ist raus
diesmal aber nur für Linux und nicht meht windows


http://andy-h.de/pyedit/pyedit1.5.tar.gz

Was habe ich gemacht:
-Icon hinzugefügt (install.py angepast)
-kompatibilitäts Programm hinzugefügt
-Kann jetzt alle text Formate Lesen(Python-Programme haben immer noch syntax highlighting)
-Update Funktion wurde herausgenommen, weil sie wegen der neuen Installationsmethode nicht mehr
funktioniert(wird überarbeitet)
-neue Installationsmethode hinzugefügt, pyedit sollte jetzt installiert werden
####################
-Datensicherheit überarbeitet
-Die Daten wird jetzt alle 10sek. gesichert in die Datei "speed_save.txt"
-Alle 2min. werden die Daten zudem noch in die Datei"Autosave.txt" gesichert.
Die Dateien befinden sich:
-bei Installiertem Pyedit im Ordner "/tmp/"
-an sonst im Ordner "pyedit" den sie aus dem Internet haben
####################
-Programm ausführen komplett neu gestaltet, es werden jetzt die Fehler angezeigt.
##############################################################
Pyedit 1.3 ist raus
aber nur für Linux(müsste aber auch unter windows gehen)

http://andy-h.de/pyedit/pyedit1.3.tar.gz

Was habe ich gemacht:

-Bug beim Exportieren beseitig
-Es wurde das Modul complete.py hinzugefügt
-Codevervollständigung verbessert


Nach etlichen belästigungen die ich hier angerichtet habe ist es nun volbracht!
Pyedit1.0 Beta ist fertig!

Download:
http://andy-h.de/pyedit/pyedit.zip
http://andy-h.de/pyedit/pyedit.tar.gz

Was wird benötigt?
-das Modul wx http://wxpython.org/download.php#binaries
-das Pygments http://pygments.org/download/
-das system muss den befehl python kennen

Zur Installation:
Das Programm muss eigentlich nicht installieren, aber besser ist es wenn man es macht, besonders unter linux.

-Entpacken
-Terminal öffnen
-ins verzeichnis wechseln

Linux:
- ./instal.py eingeben
Windows:
-python install.py

-dann muss man den Instalationspafd eingben (z.B. linux /home, Windows C:/programme, wichtig der letzte schrägstrich muss wegbleiben)
-dann wird das Betreibsystem erkannt. wenn das erkennen gelungen ist nur ENTER ansonsten auswählen

Starten:

Linux:
Nicht auf das Programm (pyedit.py)direck kicken, sondern auf die Datei Pyedit.
Wenn man das Programm nicht installiert hat gibt es die Datei Pyedit nicht, dann muss man das Programm über die konsole starten

Windows:
Doppelt auf pyedit.py klicken.

Was fehlt noch?:
-Man kann das programm noch nicht Konfigurieren
-Export als HTML geht noch nicht perfekt
-so kleinigkeitet
-wenn ihr was findent her damit!

Gleich vorweg zur Kritik:
-Nehme ich grene an (will mich ja verbesser)
-das der code alles andere wie schön ist weis ich schon! Ich wills jetzt aber einfach mal hergeben damit man mal sieht das ich was arbeite!

Gruß
Andyh
[EDIT] tar.gz Datei nachgereicht
Zuletzt geändert von Andyh am Sonntag 8. Februar 2009, 11:02, insgesamt 7-mal geändert.
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!

Code: Alles auswählen

import sys

if sys.platform == "win32":
    print "this program only runs on operating systems!!!"
    sys.TotalError()
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 2. Januar 2009, 14:23

Hint: Tarballs können Executable-Bits enthalten, Zip-Archive afaik nicht.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Freitag 2. Januar 2009, 14:45

mach diese

Code: Alles auswählen

try:
    import foo
except ImportError:
    print 'Konnte "foo" nicht importieren!'
    sys.exit(-1)

bitte weg.

Und wenn du dich dann noch an PEP 8 hälst und das logging modul nutzt könnte das was werden...

Man braucht übrigens keine 5-zeiligen Module und die Config würde ich nicht als Py-Modul speichern sondern mit ConfigObj oder so
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Beitragvon Andyh » Freitag 2. Januar 2009, 15:11

Hallo

@audax:
Danke für die Antwort!

Was ist daran falsch wenn ich ImportError abfange?
Gut es macht den code küstlich länger aber sonst...

zu den 5 zeiligen modulen, das stimmt die braucht man nicht, aber ich dachte gleich an später wenn ich ausbauen möchte.

Un zum PEP8 also ich finde ich habe mich schon ganz gut daran gehalten im gegensatz zu früher(jetzt mich aber nicht zerfleischen wegen dem satz).

Das logging modul kannta ich noch garnicht, Danke.
Muss ich mir mal ansehen.

Gruß
Andyh
Meinen Dickschädel schon bemerkt?

Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!

Code: Alles auswählen

import sys

if sys.platform == "win32":
    print "this program only runs on operating systems!!!"
    sys.TotalError()
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Freitag 2. Januar 2009, 15:18

Andyh hat geschrieben:Was ist daran falsch wenn ich ImportError abfange?
Gut es macht den code küstlich länger aber sonst...

Es macht den Code länger und er wiederholt sich immer.
Es reicht völlig, den ImportError einfach werfen zu lassen...

Kommentare sollten übringens in eine extra-Zeile und nicht hintendran, das macht die Zeilen zu lang.
lunar

Beitragvon lunar » Freitag 2. Januar 2009, 16:02

Ich habe mir nur das Installationsskript angeschaut. Das war so grausam, dass ich auf den Rest keine Lust mehr hatte. Nichts für ungut ;)

Der Selbsttest mit "sys.path[0]" ist idiotisch. Wenn du den Pfad des Installationsskripts möchtest, nutze "__file__". Auf Existenz einer Datei kann auch auch einfacher mit os.path.isfile testen.

Zum Zusammensetzen der Pfade gibt es os.path.join. Das verhindert böse Überraschungen für den Nutzer, wenn er entgegen deinem Rat den Schrägstrich doch vergisst.

Vollends abenteuerlich wird es dann bei der Erkennung des Betriebssystems. Wie zum Teufel bist du nur auf die Idee gekommen? Bitte, bitte nutze doch einfach sys.platform oder das platform-Modul.

Im Übrigen gibt es ja auch distutils/setuptools zur Installation.

@Leonidas

Code: Alles auswählen

$ ll pyedit
insgesamt 44
-rwxr-xr-x 1 lunar users  6937  2. Jan 12:36 install.py
-rw-r--r-- 1 lunar users  6921  2. Jan 12:33 install.py~
drwxr-xr-x 2 lunar users  4096  2. Jan 12:31 module
drwxrwxrwx 2 lunar users  4096  2. Jan 11:08 pics
-rw-r--r-- 1 lunar users 19293  2. Jan 12:34 pyedit.py

Diese Berechtigungen kommen auf jeden Fall nicht von meiner umask ;) Irgendwie unterstützt ZIP also Unix-Rechte.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Beitragvon Andyh » Freitag 2. Januar 2009, 16:13

Hallo

@lunar

Na edlich ist es jemand aufgefallen.
Den istallationsscript habe ich heute morgen schnell gemacht ohne groß zu schauhen und tuhen.

Also ich finde die OS abfrage doch ausgefallen oder? :wink:

Achso den code sollt ihr euch auch nicht so genau anschauhen, guck euch lieber mal das programm an!

Gruß
Andyh
Meinen Dickschädel schon bemerkt?

Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!

Code: Alles auswählen

import sys

if sys.platform == "win32":
    print "this program only runs on operating systems!!!"
    sys.TotalError()
lunar

Beitragvon lunar » Freitag 2. Januar 2009, 16:18

Andyh hat geschrieben:Achso den code sollt ihr euch auch nicht so genau anschauhen, guck euch lieber mal das programm an!

Nichts für ungut, aber wenn ich von der Codequalität des Installationsskripts auf den Rest des Codes schließe, dann möchte ich das Programm lieber nicht ausführen. Ganz generell würde ich das nicht ohne den Code anzusehen ausführen.

Und wenn es – wie ich vermute – nur ein weiterer Editor ist, dann musst du mir erstmal erklären, warum ich deinen Editor emacs vorziehen sollte ;)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 2. Januar 2009, 16:21

Ok, da lunar meint, dass das mit den Rechten stimmt - ok. Was ich noch zu Kritisieren hätte wären die Backup-Dateien und die pyc-Dateien, sowie die ``Thumbs.db`` (und die GIFs sowieso). ``images.py`` finde ich ebenfalls ziemlich übel, was spricht gegen Bilddateien, die du ja sowieso auch hast? Statt einer ``install.py`` hätte ich mir eher eine ``README``-Datei gewünscht.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Freitag 2. Januar 2009, 17:14

Beherzige doch mal das DRY-Prinzip, damit wäre dem Code sehr geholfen!
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Beitragvon Andyh » Freitag 2. Januar 2009, 17:39

Hallo

Was ist das DRY-Prinzip?

Ich habe jetzt den Installscrpit abgeändert("verbesser")
Mir gefällt er immer noch nicht, aber er tut das was er soll.

Wenn ich mir hier die ganzen negativen kommentare immer ansehe, beneide andere Programmiersprchen, wo man gleich eine .exe oder.bin verteilt. Da zählt dann erstmal das ergebniss und dann der rest.

Von euch hat sicher noch keiner Pyedit mal gestartet :cry:

Man ich bin ja auch erst bei der version 1.0 auf meiner TODO liste steht:

Bis Version 2.0 wird nur der Code ausgebessert.

Und da kann ich ja einige updates machen:
z.B 1.1.2.3
Zuletzt geändert von Andyh am Freitag 2. Januar 2009, 17:51, insgesamt 1-mal geändert.
Meinen Dickschädel schon bemerkt?

Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!

Code: Alles auswählen

import sys

if sys.platform == "win32":
    print "this program only runs on operating systems!!!"
    sys.TotalError()
Benutzeravatar
OverNord
User
Beiträge: 72
Registriert: Donnerstag 24. Januar 2008, 11:59
Kontaktdaten:

Beitragvon OverNord » Freitag 2. Januar 2009, 17:45

Andyh hat geschrieben:Hallo

Was ist das DRY-Prinzip?


Don´t repeat yourself
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Beitragvon Andyh » Freitag 2. Januar 2009, 17:54

Hallo

@OverNord
Danke für die Antwort

Ich bin eigentlich kein Fan von immer gleichen Programm Teilen.

Am meisten mag ich

Code: Alles auswählen

liste = [1,2,3,4,5]

for item in liste:
    print item


Gruß
Andyh
Meinen Dickschädel schon bemerkt?

Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!

Code: Alles auswählen

import sys

if sys.platform == "win32":
    print "this program only runs on operating systems!!!"
    sys.TotalError()
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 2. Januar 2009, 17:56

Andyh hat geschrieben:Wenn ich mir hier die ganzen negativen kommentare immer ansehe, beneide andere Programmiersprchen, wo man gleich eine .exe oder.bin verteilt. Da zählt dann erstmal das ergebniss und dann der rest.

Ja, ist doch egal wie der Code ist, ob der scheiße ist oder nicht, hauptsache es passiert irgendwas, oder?

Naja, es war nicht anders zu erwarten: du schreibst einen Editor in Python und postest den Code in ein Python-Forum. Die Leute hier haben ja schon einen Editor, brauchen also keinen weiteren. Zudem dein Editor wx nutzt, was ich gar nicht installiert habe. Da ist es ja klar, dass man sich halt den Code ansieht und schaut ob wenigstens der interessant ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
OverNord
User
Beiträge: 72
Registriert: Donnerstag 24. Januar 2008, 11:59
Kontaktdaten:

Beitragvon OverNord » Freitag 2. Januar 2009, 18:10

Andyh hat geschrieben:Von euch hat sicher noch keiner Pyedit mal gestartet :cry:


Ich hab Pyedit gestartet. Was mich stört, ist, dass es kein richtiges Menu gibt, sondern eigentlich nur eine Toolbar. Ansonsten kann ich nur sagen: Mach weiter, kann nur besser werden :wink:

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder