Das Pyzza Projekt

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
thepyzzaguy
User
Beiträge: 7
Registriert: Freitag 8. August 2008, 20:44

Freitag 8. August 2008, 21:27

Hallo,

ich moechte hier mal kurz Pyzza, http://pyzza.dyndns.org, eine Web-Seite fuer Python-Programmierer und Web-2.0 (was auch immer das ist)-Enthusiasten, vorstellen.

Vor ein paar Wochen bin ich ueber http://shell.appspot.com/ gestolpert und dachte mir, damit koennte man ein prima online-Tutorial fuer Python bauen. Eines kam zum anderen. Ein gutes Tutorial gibt's zwar immernoch nicht, aber dafuer gibt es Pyzza.

Auf der Seite kann man Python-code schreiben, veroeffentlichen und ausfuehren. Insbesondere kann man Web-Applikationen bauen (ein paar javascript Bibliotheken stehen auch zur Verfuegung).

Natuerlich laufen die online ausgefuehrten Python-Programme nicht in einem "normalen" Interpreter. Zugriffe auf das Dateisystem und das Internet (alles was sockets benoetigt) sind nicht moeglich (falls Du doch eine Moeglichkeit findest, scheib mir bitte eine Email).

Ich freue mich auf Euer Feedback. Bugs bitte ich auch per Email zu melden. Vielen dank fuer's Lesen.

p.s.: Bevor ich es vergesse: die Seite hat Probleme mit dem Safari Browser. Ab und zu verfranst der sich und laedt Seiten nicht.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 10. August 2008, 04:02

http://pyzza.dyndns.org/interpreter/run ... ript%3E%22 ;)

Zur Sandbox - wie hast du die gemacht und bist du sicher das die hält? ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
thepyzzaguy
User
Beiträge: 7
Registriert: Freitag 8. August 2008, 20:44

Sonntag 10. August 2008, 10:18

doh! Ich weiss schon, was ich heute machen muss, danke fuer den Tip :-)
veers hat geschrieben:Zur Sandbox - wie hast du die gemacht und bist du sicher das die hält? ;)
Die Sandbox ist eigentlich keine richtige Sandbox. Die Programme, die man online ausfuehrt laufen in einem modifizierten Python-Interpreter.

Ob das haelt ist natuerlich eine andere frage. Das wurd die Zeit zeigen.
DelphiMarkus
User
Beiträge: 22
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Sonntag 10. August 2008, 13:38

Hallo!
Ich finde die Idee gut und habe mich auch schon angemeldet, aber ich habe ein Problem:
Ich brauche eine Zahl, sie wird nur einmal im Skript generiert und zwar beim Start. Nur wenn ich in mein Edit-Feld etwas eingebe soll es mit der Zahl verglichen werden, aber wenn die Haupt-Funktion zu Ende ist und die Seite neu geladen wird, ist diese Zahl weg. Wie kann ich sie behalten bis ich sie nicht mehr brauche?
Oder kann ich irgendwie eine Schleife einbauen. Wenn man das normal macht, z.B. mit while, dann geht es nicht und AJAX habe ich noch nie gemacht und ich kann es auch nicht.

In den letzten Tagen hast du viel am Aussehen gearbeitet und jetzt gefällt es mir besser als vorher. :!: :!: SUPER :!: :!:
thepyzzaguy
User
Beiträge: 7
Registriert: Freitag 8. August 2008, 20:44

Sonntag 10. August 2008, 15:14

DelphiMarkus hat geschrieben:Hallo!
Ich finde die Idee gut und habe mich auch schon angemeldet, aber ich habe ein Problem:
Ich brauche eine Zahl, sie wird nur einmal im Skript generiert und zwar beim Start. Nur wenn ich in mein Edit-Feld etwas eingebe soll es mit der Zahl verglichen werden, aber wenn die Haupt-Funktion zu Ende ist und die Seite neu geladen wird, ist diese Zahl weg. Wie kann ich sie behalten bis ich sie nicht mehr brauche?
Oder kann ich irgendwie eine Schleife einbauen. Wenn man das normal macht, z.B. mit while, dann geht es nicht und AJAX habe ich noch nie gemacht und ich kann es auch nicht.

In den letzten Tagen hast du viel am Aussehen gearbeitet und jetzt gefällt es mir besser als vorher. :!: :!: SUPER :!: :!:
Danke fuer das Lob, Web-Design ist wohl offsensichtlich nicht meine groesste staerke :-)

Dein Programm wird jedesmal ausgefuehrt, wenn die Seite aufgerufen wird. Das hat den Nachteil, dass Du Variablen, die weiter benoetigt werden, irgendwie der naechsten Seite mitteilen musst.

Um das zu erreichen ist ein Formular wohl am einfachsten zu benutzen. Falls der Benutzer die Zahl nicht unbedingt sehen muss (oder nicht sehen soll) kann man in Formularen auch versteckte Felder definieren. Bei selfhtml (http://de.selfhtml.org/html/formulare/index.htm) ist das besser erklaert als ich es jetzt koennte.

Es gibt auf Pyzza auch ein kleines Beispiel-Programm, dass Formulare verwendet um Daten an sich selbst weiterzureichen (http://pyzza.dyndns.org/viewfiles/viewp ... 01a_prs.py).

Ich hoffe, ich konnte Dir weiterhelfen.
DelphiMarkus
User
Beiträge: 22
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Sonntag 10. August 2008, 16:46

Hallo!
Danke für den Tipp, da bin ich nicht drauf gekommen, naja ich kann etwas HTML, dass für einfache Seiten reicht.

Ich werde es gleich mal ausprobieren!
Es ist eigentlich einfach, mal schauen was ich noch so alles scripte... :wink:

EDIT:
Irgendwie bekomme ich die Zahl nicht ins Feld. Ich mache es so: (Zu Testzwecken ist das Feld noch nicht versteckt)

Code: Alles auswählen

start="""
...
<input type="text" name="ZahlEdit" vaule=<!-- ZAHL --> >
...
"""
...
e['ZAHL'] = '"'+str(DieZahl)+'"'
pyz.set_template (start, e)
Aber das klappt nicht. :cry: Und ich weiß nicht warum.
DelphiMarkus
User
Beiträge: 22
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Sonntag 10. August 2008, 17:35

OK, ich weiß jetzt auch warum. In Formularen geht das leider nicht, dort werden die Argumente nicht eingesetzt.
Das ist dann natürlich schlecht. Das muss noch geändert werden. Ich habe mein Skript jetzt auf jeden Fall zum Laufen gebracht, da hbe ich mich mit dem JavaScript von SelfHTML beholfen und den Wert so über das Skript zugewiesen.

EDIT:
Aber die Zahl wird in der URL angegeben, das sollte eigentlich nicht so sein, die Zahl soll geheim bleiben, vielleicht findet sich dafür ja auch noch eine Lösung.

EDIT2:
Ich habe es jetzt veröffentlicht, vielleicht findest du so noch eine Möglichkeit, außerdem viel Spass beim Spielen. :wink:
thepyzzaguy
User
Beiträge: 7
Registriert: Freitag 8. August 2008, 20:44

Sonntag 10. August 2008, 18:19

DelphiMarkus hat geschrieben:Hallo!
...

Irgendwie bekomme ich die Zahl nicht ins Feld. Ich mache es so: (Zu Testzwecken ist das Feld noch nicht versteckt)

Code: Alles auswählen

start="""
...
<input type="text" name="ZahlEdit" vaule=<!-- ZAHL --> >
...
"""
...
e['ZAHL'] = '"'+str(DieZahl)+'"'
pyz.set_template (start, e)
Aber das klappt nicht. :cry: Und ich weiß nicht warum.
Da ist ein Drehstabenverbucher, "vaule" muss "value" heissen, dann sollte das auch klappen.
DelphiMarkus
User
Beiträge: 22
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Sonntag 10. August 2008, 18:59

Stimmt, da habe ich mich verschrieben. Und da ich das einfach nochmal kopiert habe sind beide falsch. :oops:
Da sieht man, dass ich nicht oft HTML schreibe. :D

Nochmal danke dafür.

Du hast die Seite genau richtig gemacht, ich kann sogar mit meinem eeePC gut darau schreiben und surfen, weil sich die Seite der Breite des Browserfenster anpasst. Das hast du wirklich hervorragend gemacht.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 11. August 2008, 08:43

Hab mich auch mal angemeldet. Eigentlich eine nette Idee, um z.B. kleine Codestückchen hier im Forum zu bereden. Vielleicht könnte man es auch ein wenig mit dem Forum zusammen verknüpfen.

Ein wenig komisch finde ich aber, das man für die Registrierung keine EMail Adresse angeben muß. Das würde ich nicht machen.

Bei der Seite http://pyzza.dyndns.org/viewfiles/ verstehe ich den Inhalt nicht. Seiteninhalt sieht so aus:
Visibiliy:
private public

private (edit)
Tags:
Tags:

(edit)
Description:



(edit)
Die Bezeichnungen stehen ganz links und die Links ganz rechts. Die sind so weiter auseinander das man den Zusammenhang nicht erkennen kann.

Ich wollte eine neue Datei anlegen, bekomme dann aber nur ein "500: Internal Server Error" Kann es sein, das es immer bei Sonderzeichen äöüß kommt?

Nütztlich wäre es, wenn man beim Edit direkt sagen könnte "Execute" und danach taucht der Soourcode wieder in der textarea auf und darunter die Ausgaben des Programms.

Schön, wäre, wenn man auch text/plain ausgeben könnte, für kleine Skripte. Ich hab mal das gemacht: http://pyzza.dyndns.org/viewfiles/viewf ... aOutput.py

Ich frage mich, wie man tags eingeben soll. Mit Leerzeilen oder per Komma getrennt?

Dumm ist, wenn man eine Beschreibung eingibt und nur die Meldung Illegal Character found zurück bekommt.

Generell ist an einigen Stellen die html Forumlar Verarbeitung nicht so toll. Wenn irgendein Fehler auftaucht bekommt man ein leeres Forumar zurück und muß alles neu eintippen.

Was ich mich jetzt Frage, wie Sicher ist pyzza??? Deswegen hab ich mal http://pyzza.dyndns.org/viewfiles/viewp ... ty_test.py angelegt um zu sehen, was möglich ist.
Es heißt ja immer, das man mit Python keine Sandbox aufbauen kann, die 100%tig sicher ist.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
thepyzzaguy
User
Beiträge: 7
Registriert: Freitag 8. August 2008, 20:44

Montag 11. August 2008, 16:18

Vielen Dank fuers Feddback :-)
jens hat geschrieben:Hab mich auch mal angemeldet. Eigentlich eine nette Idee, um z.B. kleine Codestückchen hier im Forum zu bereden. Vielleicht könnte man es auch ein wenig mit dem Forum zusammen verknüpfen.

Ein wenig komisch finde ich aber, das man für die Registrierung keine EMail Adresse angeben muß. Das würde ich nicht machen.
Ich habe ueberlegt, ob die Anmeldung eine Email-Addresse erfordert. Wenn jemand eigentlich keine Email-Addresse angeben will, aus welchem Grund auch immer, muesste er/sie dann extra eine anlegen oder wuerde einen "Trash-Mail"-Service verwenden. Also habe ich mich dagegen entschieden, dass verpflichtend zu machen, dass man eine Email-Addresse angeben muss.
jens hat geschrieben:Bei der Seite http://pyzza.dyndns.org/viewfiles/ verstehe ich den Inhalt nicht. Seiteninhalt sieht so aus:
Visibiliy:
private public

private (edit)
Tags:
Tags:

(edit)
Description:



(edit)
Die Bezeichnungen stehen ganz links und die Links ganz rechts. Die sind so weiter auseinander das man den Zusammenhang nicht erkennen kann.
Und das wird immer schlimmer, je breiter das Browser-Fenster ist ... und das wird geaendert :-)

Edit: die Breite der Datei-Bloecke bleibt jetzt gleich gross. Sollte jetzt besser zu erkennen sein was wozu gehoert.
jens hat geschrieben:Ich wollte eine neue Datei anlegen, bekomme dann aber nur ein "500: Internal Server Error" Kann es sein, das es immer bei Sonderzeichen äöüß kommt?
Ja, hoechstwahrscheinlich liegt es dadran. Vielleicht sollte ich das irgendwo dokumentieren, welche Zeichen erlaubt sind in Dateiname, Tags und Beschreibungen. Kommt auf die TODO-Liste.

Edit: siehe unten.
jens hat geschrieben:Nütztlich wäre es, wenn man beim Edit direkt sagen könnte "Execute" und danach taucht der Soourcode wieder in der textarea auf und darunter die Ausgaben des Programms.
Gute Idee! Kommt auch auf die TODO-Liste.

Edit: wenn man eine Datei editiert und dann speichert landet man jetzt wieder direkt im Editor (vorrausgesetzt man hat das senden von Referer-Header in seinem Web-Browser nicht ausgeschaltet). Ausserdem ist jetzt ein link mit drin, um die Datei gleich auszufuehren.
jens hat geschrieben:Schön, wäre, wenn man auch text/plain ausgeben könnte, für kleine Skripte. Ich hab mal das gemacht: http://pyzza.dyndns.org/viewfiles/viewf ... aOutput.py
Ja, das waere wirklich praktisch. Kommt auch auf die TODO-Liste.

Edit: habs jetztes mal vergessen, das mit reinzuschreiben: man kann bei dem PyzTemplate Objekt, dass man im Page-Handler bekommt, mit pyz.noprint () den HTML-Output ausschalten. (das macht z.b. auch der Page-Handler fuer den Ajax-Request in dem ELIZA program). Der Content-Type wird dann auch auf text/plain gesetzt.
jens hat geschrieben:Ich frage mich, wie man tags eingeben soll. Mit Leerzeilen oder per Komma getrennt?
Das ist im prinzip egal. Komma wuerde ich vorziehen, falls ein Tag Leerzeichen enthaelt.
jens hat geschrieben:Dumm ist, wenn man eine Beschreibung eingibt und nur die Meldung Illegal Character found zurück bekommt.

Generell ist an einigen Stellen die html Forumlar Verarbeitung nicht so toll. Wenn irgendein Fehler auftaucht bekommt man ein leeres Forumar zurück und muß alles neu eintippen.
Auch da hast Du absoulut recht. Ich werde ersteinmal zusehen, dass irgendwo steht, welche Zeichen erlaubt sind. Und die Formuar Verarbeitung muss wohl auch ueberarbeitet werden.

Edit: Wenn man Tags oder Beschreibung editiert, sowie wenn man eine neue Datei anlegen moechte, bekommt man waehrend des tippens eine Warnung angezeigt, wenn nicht erlaubte Zeichen eingetippt werden. Hoffe das klappt wie gewuenscht. Und hoffentlich macht es das editieren der Tags und Beschreibung weniger frustrierend.
jens hat geschrieben:Was ich mich jetzt Frage, wie Sicher ist pyzza??? Deswegen hab ich mal http://pyzza.dyndns.org/viewfiles/viewp ... ty_test.py angelegt um zu sehen, was möglich ist.
Es heißt ja immer, das man mit Python keine Sandbox aufbauen kann, die 100%tig sicher ist.
Naja, das frage ich mich natuerlich auch :-)

Nochmals vielen Dank fuer Dein Feedback. Ich hoffe ich komme heute noch dazu es umzusetzen.
DelphiMarkus
User
Beiträge: 22
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Montag 11. August 2008, 20:52

Hi!
Mir ist gerade noch eine Sache eingefallen:
Es wäre ganz sinnvoll, wenn man erst gefragt wird ob man eine Datei wirklich löschen möchte. Ich habe schon einmal auf den falschen Knopf gedrückt und da war die Datei weg. Für tollpatschige User ist das ganz sinnvoll.

Bitte bau diese Abfrage noch mit ein.

Gruß
DelphiMarkus
thepyzzaguy
User
Beiträge: 7
Registriert: Freitag 8. August 2008, 20:44

Montag 11. August 2008, 22:22

DelphiMarkus hat geschrieben:Hi!
Mir ist gerade noch eine Sache eingefallen:
Es wäre ganz sinnvoll, wenn man erst gefragt wird ob man eine Datei wirklich löschen möchte. Ich habe schon einmal auf den falschen Knopf gedrückt und da war die Datei weg. Für tollpatschige User ist das ganz sinnvoll.

Bitte bau diese Abfrage noch mit ein.

Gruß
DelphiMarkus
Da ist was dran, danke fuer den Hinweis. Ist eingebaut.
DelphiMarkus
User
Beiträge: 22
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Dienstag 19. August 2008, 16:21

Hallo,
ich fände es gut, wenn man die Sprache auf der Seite umstellen könnte. Vielleicht gäbe es dann auch mehr Interessenten dafür.
Ich komme mit der Seite auch gut auf Englisch klar. Außerdem finde ich die Idee mit den "User Pages" sehr gut, so kann jeder dort seine eigene kleine Seite betreiben, auf der man seine Projekte vorstellen kann.
Danke, dass du das "Löschen bestätigen" noch eingebaut hast.

Gruß,
DelphiMarkus
thepyzzaguy
User
Beiträge: 7
Registriert: Freitag 8. August 2008, 20:44

Dienstag 19. August 2008, 21:03

Hallo,
DelphiMarkus hat geschrieben:Hallo,
ich fände es gut, wenn man die Sprache auf der Seite umstellen könnte.
...
ja, gut waere das. Leider waere das auch sehr viel Aufwand. Das kommt auf meine TODO, aber nicht an erster stelle. Es waere im moment auch muessig, z.b. die Dokumentation, zu uebersetzen. Weil sie einfach noch nicht fertig ist und sich da noch viel aendern wird.


Im Moment arbeite ich an ein paar kleinen Anwendungen, die vielleich auch den einen oder anderen hier interessieren koennten.

http://pyzza.dyndns.org/interpreter/run ... ev/frun.py ist eine Anwendung, mit der man Code-Schnipsel, die man so im Internet findet, einfach mal eben ausfuehren kann. Einfach die URL zu dem Code-Schnipsel reinschreiben und ausfuehren.

z.b.: http://pyzza.dyndns.org/interpreter/run ... raw/82567/

fuehrt den Schnipsel, den man unter http://paste.pocoo.org/raw/82567/ findet, aus. Das einzige was man dabei beachten muss ist das man wirklich eine URL die zu puren Python-Code (und nicht HTML) fuehrt verwendet.
Antworten