[GELÖST] umlaute in docstrings

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Danke Leute ihr seit Genial!! Ich hab epydoc jetzt installiert und ausprobiert! Einfach Genial! Umlaute, etc werden richtig übernommen und das Styling ist auch einfach spitze!

Da hab ich auch ne kurze frage, wie gebe ich für eine Variable einen Docstring an? Sehe gerad das sowas auch geht, da mir bei description für eine Varibale none angezeigt wird. Wuste ich bis her nicht. Bin davon ausgegangen das man nur Header, Klassen, Methoden und Funktionen mit docstrings versehen kann.

LG und nochmals vielen dank :)

EDIT:
Leonidas hat geschrieben:
XtraNine hat geschrieben:OK danke, ich lade mir mal epydoc runter und teste das mal. Aber vorher probiere ich im meta das encoding zu setzen. Vielleicht klappt das ja auch wenn ich das direkt im pydoc.py reinsetze, dann kann ich beim bugtracker das ja mal als Vorschlag schicken :D
Problem ist, dass man das Encoding nicht "einfach so" auf ISO-8859-1 oder ISO-8859-15 setzen kann, weil es ja noch sein kann, dass das Programm in ISO-8859-2 gespeichert sein kann oder in UTF-8 oder in.. whatever. Da müsste man wohl erstmal das ggf. vorhandene Emacs-Cookie auslesen (# -*- coding -*-) und danach erst entscheiden welches Encoding die HTML-Datei haben soll.

Irgendwie finde ich das nun recht interessant, mal gucken wie pydoc implementiert ist.
Ist schon komisch, hab mich noch par Minuten rangesetzt aber es ging irgendwie nicht auch nicht mit den meta-tag. Liegt vielleicht daran wie die datei gespeichert wird, wie du schon meintest.

EDIT2: Entschuldigt meine Euphorie aber epydoc ist der pure Wahnsinn!! :) Der zeigt sogar den source code an und bietet ne collaps funktion von Classen/Methoden :shock:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

XtraNine hat geschrieben:Da hab ich auch ne kurze frage, wie gebe ich für eine Variable einen Docstring an? Sehe gerad das sowas auch geht, da mir bei description für eine Varibale none angezeigt wird. Wuste ich bis her nicht. Bin davon ausgegangen das man nur Header, Klassen, Methoden und Funktionen mit docstrings versehen kann.
Stimmt: Variablen (d.h. 'Namen') haben in der Regel keine Docstrings. Du kannst allerdings versuchen über die Variable einen Kommentar zu schrieben, vielleicht übernimmt Epydoc ja diesen Text mit in die Dokumentation (Wild guess).

Naja, noch zu den Docstrings die Variablen haben oder nicht haben:

Code: Alles auswählen

In [13]:text = 'abc'
In [14]: print text.__doc__
str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the same object.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

XtraNine hat geschrieben:wie gebe ich für eine Variable einen Docstring an?
Hi XtraNine!

http://epydoc.sourceforge.net/whatsnew.html

Code: Alles auswählen

>>> #: docstring for x
... x = 22
>>> x = 22 #: docstring for x
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Leonidas hat geschrieben:Problem ist, dass man das Encoding nicht "einfach so" auf ISO-8859-1 oder ISO-8859-15 setzen kann, weil es ja noch sein kann, dass das Programm in ISO-8859-2 gespeichert sein kann oder in UTF-8 oder in.. whatever. Da müsste man wohl erstmal das ggf. vorhandene Emacs-Cookie auslesen (# -*- coding -*-) und danach erst entscheiden welches Encoding die HTML-Datei haben soll.
Oder man dekodiert entsprechend dem Coding-Cookie und schreibt dann grundsätzlich UTF-8 raus. Das macht es auch einfacher Docstrings aus verschiedenen Dateien in verschiedenen Kodierungen auf einer HTML-Seite auszugeben. Zum Beispiel eine Übersichtsseite über alle Module in einem Package.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

@gerold:
Danke, Super das funktioniert :)

Ich habe glaube ich gerade einen Bug (?) entdeckt in epydoc.

Wenn ich z.B. folgenden Code habe...:

Code: Alles auswählen

a = 2
b = 4
c = a*b
Dan steht bei Variables Details unter Value zur variable c eine 8 anstatt a*b. :? Warum ist das so und kann man das abstellen? Auf die schnelle habe ich da nichts gefunden.
BlackJack

Da steht eine 8 weil 2*4 eben 8 ist. "Value" heisst "Wert" und a*b ist ein Ausdruck und kein Wert.

Das würde ich nicht als Bug, sondern Normal bezeichnen.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Hab die Lösung für das "Problem". Bei der GUI von epidoc muss man bei Options unter Get docs from statt Both oder Parsing einfach Introspecting auswähle und dann wird das angezeigt was da hin soll, nämlich a*b, so wie es sein sollte :)

lg

EDIT:
@BlackJack:
Ja da hast du recht, aber mich und die anderen interessieren nicht was da für ein wert rauskommt sondern woraus sich der wert zusammensetzt.
BlackJack

Woraus er sich zusammensetzt kann man dann ja selbst Dokumentieren. Dann hätte man beides, den Wert und die Information, wie er zustande kommt.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Stimmt, hast recht. Werde ich so machen wie vorgeschlagen.

lg
Antworten