hallo, ich hab eine Klasse für die Clearsilver template Engine geschrieben.
Zu finden ist das ganze Hier, als Beispiel dient die main() funktion.
Viel spass! =)
Clearsilver Template Klasse
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Sieht ja erst einmal ganz nett aus, aber:
- mir zu wenig Doku (Sonst würde man evtl. verstehen, wozu es kwargs und das vardict in der setvars-Methode gibt!)
- wieso postest Du die Demo Template Datei nicht auch?
- wozu dient die Basis-Klasse mit dem häßlichen Namen "_SafeRender"?
- wieso nutzt Du keine Properties an kritischen Stellen? Vielleicht überblicke ich auf die Schnelle nicht alles, aber ich sehe da für die "_"-Methoden keinen anderen Sinn.
- der import von neo_cgi erscheint mir überflüssig!
Ein wenig Off-Topic: Gibt es konkrete Vorteile im Vgl. zu anderen Python-Template-Engines wie Mako, Jinja2 und Co.?
Edit: Habe mir mal ein wenig das Konzept von HDF angeguckt. Imho ist die Punkt-Struktur ja noch ok, aber wieso verwenden die kein JSON? Wäre doch imho angenehmer, als sich ein neues Custom-Format anzueignen...
- mir zu wenig Doku (Sonst würde man evtl. verstehen, wozu es kwargs und das vardict in der setvars-Methode gibt!)
- wieso postest Du die Demo Template Datei nicht auch?
- wozu dient die Basis-Klasse mit dem häßlichen Namen "_SafeRender"?
- wieso nutzt Du keine Properties an kritischen Stellen? Vielleicht überblicke ich auf die Schnelle nicht alles, aber ich sehe da für die "_"-Methoden keinen anderen Sinn.
- der import von neo_cgi erscheint mir überflüssig!
Ein wenig Off-Topic: Gibt es konkrete Vorteile im Vgl. zu anderen Python-Template-Engines wie Mako, Jinja2 und Co.?
Edit: Habe mir mal ein wenig das Konzept von HDF angeguckt. Imho ist die Punkt-Struktur ja noch ok, aber wieso verwenden die kein JSON? Wäre doch imho angenehmer, als sich ein neues Custom-Format anzueignen...
Dokus schreiben nervt Aber zu deiner frage:Hyperion hat geschrieben: - mir zu wenig Doku (Sonst würde man evtl. verstehen, wozu es kwargs und das vardict in der setvars-Methode gibt!)
Die setvars() methode erlaubt es dem user, Variablen, die später im Template verfügbar sein sollen, zu definieren. Das optionale `**kwargs` argument erlaubt dabei keyword-arguments (sic): TemplateInstance.setvars(meineVariable="MeinVariablenInhalt")
Bittesehr (Ja, könnte natürlich etwas ausführlicher sein... ).- wieso postest Du die Demo Template Datei nicht auch?
Ursprünglich diente die Klasse zum "sicheren" rendern von Dateien und/oder Strings, womit man das werfen von Exceptions hätte ausschalten können (daher auch die Variable `raise_on_error`).- wozu dient die Basis-Klasse mit dem häßlichen Namen "_SafeRender"?
Das betrifft momentan aber ohnehin nur das laden der HDF konfiguration.
Wie meinst du das?- wieso nutzt Du keine Properties an kritischen Stellen? Vielleicht überblicke ich auf die Schnelle nicht alles, aber ich sehe da für die "_"-Methoden keinen anderen Sinn.
Unnötig ist dieser Import nicht, da neo_cgi die anderen Module `neo_util` und `neo_cs` bereitstellt (ich weiss selbst nicht wie... )- der import von neo_cgi erscheint mir überflüssig!
Meine erfahrung zeigte, dass Clearsilver selbst in F/CGI Skripten schneller als Mako/Jinja2 und co. ist. Wird in den nächsten tagen aber noch getestet. Mir persönlich gefällt einfach nur die klare, unverschnörkelte Syntax der Templates.Ein wenig Off-Topic: Gibt es konkrete Vorteile im Vgl. zu anderen Python-Template-Engines wie Mako, Jinja2 und Co.?
Frag das die Entwickler von Clearsilver, Die nutzung von JSON wäre da vermutlich doch simmvoller gewesen .Edit: Habe mir mal ein wenig das Konzept von HDF angeguckt. Imho ist die Punkt-Struktur ja noch ok, aber wieso verwenden die kein JSON? Wäre doch imho angenehmer, als sich ein neues Custom-Format anzueignen...