Hallo,
ich bin aufgrund des Werkzeug Screen-Casts auf den Creoleparser aufmerksam geworden:
http://code.google.com/p/creoleparser/
Prinzipiell ist das Ding ja extrem einfach zu verwenden, jedoch stört mich da eine Kleinigkeit: die Funktion text2html() gibt nur einen Bytestring zurück, aber leider kein Unicode-Objekt. Ich habe mir nun eine simple Wrapper-Funktion geschrieben, damit ich das ganze aus Jinja2 heraus nutzen kann. Prinzipiell gefallen mir aber solche "Frickeleien" nicht besonders.
Habe ich in der Doku etwas übersehen und man kann doch Unicode zurück bekommen? Oder aber gibt es eine alternative, evtl. elegantere Art, das zu erreichen?
Oder aber kann jemand eine alternative Lib empfehlen, die dieses Manko nicht hat?
Creoleparser - text2html mit Unicode-Rückgabe?
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
btw. meine Variante gibt es hier: http://code.google.com/p/python-creole/ 

- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ja, er frisst ja auch sogar Unicode, wenn ich ihm das übergebe. Es geht ja um den Rückgabewert! Und den kann man so nicht ändern ...shday hat geschrieben:ausprobieren:
text2html(text, encoding=None)
Der standardwert encoding ist 'utf-8'
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Danke, werde ich mir mal anguckenjens hat geschrieben:btw. meine Variante gibt es hier: http://code.google.com/p/python-creole/

Das scheint wie ein Fehler. Wenn Sie einen Augenblick, bitte post ein Problem:Hyperion hat geschrieben: Ja, er frisst ja auch sogar Unicode, wenn ich ihm das übergebe. Es geht ja um den Rückgabewert! Und den kann man so nicht ändern ...
http://code.google.com/p/creoleparser/issues/entry
Hier ist das, was ich bekommen:
Code: Alles auswählen
>>> from creoleparser import text2html
>>> type(text2html(u"some **markup**"))
<type 'str'>
>>> type(text2html(u"some **markup**", encoding=None))
<type 'unicode'>
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Danke, das werd ich mal probieren. Aber intuitiv ist das sicherlich nichtshday hat geschrieben:Ich habe gerade realisiert, encoding=None funktioniert nur richtig in Creoleparser >= Version 0.6Code: Alles auswählen
>>> type(text2html(u"some **markup**", encoding=None)) <type 'unicode'>
