reST zank

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.
Antworten
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

EDIT (jens): Abgetrennt von Suche Informationen über -- Text - lexer - parser --

Leute ein kleiner Tipp:

Solche Sachen führen zu problemen, wenn man aus den Modulen per Rst-Modus mit Epidoc eine API Dokumentation erzeugt:

Code: Alles auswählen

daucms.syntax_parser
=============

daucms.syntax_parser
~~~~~~~~
Es muss korekterweise so sein:

Code: Alles auswählen

daucms.syntax_parser
====================

daucms.syntax_parser
~~~~~~~~~~~~~~~~~~~~
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Danke sape ;)

@ Jens:

Ich schau mir deine Lösung mal nachher genauer an.
€dit:schaut supa aus ;) Danke -- :D Passt perfekt zum PluginSystem für dauCMS :D (womit später mehrere Syntaxen ermöglicht werden... Syntax-Module sozusagen)

Das wegen den '<p>' 's ist mir auch schon aufgefallen... und war bisher nicht böse gemeint ;)

Es wird demnächst aber implementiert.


MfG EnTeQuAK

EDIT:
EDIT2: Ach... Irgendwie verstehe ich es nicht, was es mit dem self.is_ auf sich hat.
Damit werden z.B. zwischen '//' als öffnendes 'italic'-Tag und '//' als schließendes 'italic'-Tag unterschieden.
Dadurch wird aus der Liste, was _bold_replacer() etc. zurückgeben das richtige ausgewählt... (stelle 1 oder stelle 0)
Zuletzt geändert von EnTeQuAk am Dienstag 13. Februar 2007, 18:41, insgesamt 2-mal geändert.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

EnTeQuAk hat geschrieben:Danke sape ;)
[...]
Bitte ;)

Mal ernsthaft: Ich wollte nur darauf hingewiesen haben, um euch den gleichen ärger zu ersparen den ich hatte bei genau diesen Fall :) Ich sag euch, das macht kein Spaß mal eben (übertrieb gesagt) 1K Source Files wegen fehlender ~ und = anzupassen ;D
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sape hat geschrieben:Es muss korekterweise so sein:

Code: Alles auswählen

daucms.syntax_parser
====================

daucms.syntax_parser
~~~~~~~~~~~~~~~~~~~~
Bei meinen Versuchen mit reST ist übrigens auch das durchgegangen:

Code: Alles auswählen

Überschrift
===========================
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

sape hat geschrieben: Mal ernsthaft: Ich wollte nur darauf hingewiesen haben, um euch den gleichen ärger zu ersparen den ich hatte bei genau diesen Fall :) Ich sag euch, das macht kein Spaß mal eben (übertrieb gesagt) 1K Source Files wegen fehlender ~ und = anzupassen ;D
Wer das per Hand macht, gehört ja auch gestraft.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

birkenfeld hat geschrieben:
sape hat geschrieben: Mal ernsthaft: Ich wollte nur darauf hingewiesen haben, um euch den gleichen ärger zu ersparen den ich hatte bei genau diesen Fall :) Ich sag euch, das macht kein Spaß mal eben (übertrieb gesagt) 1K Source Files wegen fehlender ~ und = anzupassen ;D
Wer das per Hand macht, gehört ja auch gestraft.
Retourkutsche für den Post von gestern?

Hast du etwas konstruktives beizutragen? Nein? Ah, gut :) *i*Du hättest es aber mit grep gemacht oder? */i*


EDIT: http://www.python-forum.de/post-58760.html#58760
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

sape hat geschrieben:
birkenfeld hat geschrieben:
sape hat geschrieben: Mal ernsthaft: Ich wollte nur darauf hingewiesen haben, um euch den gleichen ärger zu ersparen den ich hatte bei genau diesen Fall :) Ich sag euch, das macht kein Spaß mal eben (übertrieb gesagt) 1K Source Files wegen fehlender ~ und = anzupassen ;D
Wer das per Hand macht, gehört ja auch gestraft.
Retourkutsche für den Post von gestern?
Welchen?
Hast du etwas konstruktives beizutragen? Nein? Ah, gut :) *i*Du hättest es aber mit grep gemacht oder? */i*
Konstruktiv wäre hier genau was?
Und ja, entweder grep oder gleich ein Python-10-Zeiler, und schon ist es egal, ob du 10 oder 1000 Sourcefiles hast.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

birkenfeld hat geschrieben: Konstruktiv wäre hier genau was?
Alles ander als das:
Wer das per Hand macht, gehört ja auch gestraft.
birkenfeld hat geschrieben:[...]
Und ja, entweder grep oder gleich ein Python-10-Zeiler, und schon ist es egal, ob du 10 oder 1000 Sourcefiles hast.
Ja wenn du von ausgehst das ~ und = eine feste länge haben:
xyz/foobar1.py

Code: Alles auswählen

xyz.foobar1
~~~
xyz/foobar1.py

Code: Alles auswählen

xyz.foobar2
~~~
etc.
Und wie sieht es damit aus:
xyz/foobar1.py

Code: Alles auswählen

xyz.foobar1
~~~~~~~
xyz/foobar1.py

Code: Alles auswählen

xyz.foobar2
~~~~~~~~~~~~~
etc.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sape hat geschrieben:Und wie sieht es damit aus:
xyz/foobar1.py

Code: Alles auswählen

xyz.foobar1
~~~~~~~
xyz/foobar1.py

Code: Alles auswählen

xyz.foobar2
~~~~~~~~~~~~~
etc.
Du willst uns jetzt nicht wirklich sagen, dass es für dich nicht möglich ist, zwei Zeilen im Speicher zu halten und dann eine solange zu verlängern, bis sie die Länge der anderen hat, oder?
  • Zeile 1 einlesen
  • Zeile 2 einlesen
  • Gucken ob Zeile 2 eine Unterstreichung ist und welche Zeichen sie benutzt (=, -, ~)
  • Zeile 1 in Datei schrieben
  • Wenn Zeile 2 Unterstreichung dann Unterstreichungszeichen * len(zeile1) in Datei schreiben
  • und auf diese Weise durch die Datei iterieren
Mit sed und awk sicher etwas arg kompliziert, aber mit Python ist doch sowas ganz schnell geschrieben. 10 Zeiler ist durchaus realistisch.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Zur Sache hat Leonidas ja schon was geschrieben.
sape hat geschrieben:
birkenfeld hat geschrieben: Konstruktiv wäre hier genau was?
Alles ander als das:
Wer das per Hand macht, gehört ja auch gestraft.
Empfindest du das Ändern von 1000 Source-Dateien nicht als Strafarbeit?
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Leonidas hat geschrieben:[...]
Mit sed und awk sicher etwas arg kompliziert, aber mit Python ist doch sowas ganz schnell geschrieben. 10 Zeiler ist durchaus realistisch.
Als 10 zeiler halte ich das nicht realistisch. Habs aber nicht probiert.

Außerdem lohnt der Aufwand (testen, etc), IMHO, nicht für 10-20 Dateien.
birkenfeld hat geschrieben: Empfindest du das Ändern von 1000 Source-Dateien nicht als Strafarbeit?
sape hat geschrieben:[...] (übertrieb gesagt) 1K Source Files[...]
Davon abgesehen: Natürlich ist das eine Strafarbeit. Ich finde aber nicht das einer der sich diese Arbeit macht, gestraft gehört. Und das wahr die Aussage deines Satzes:
birkenfeld hat geschrieben:Wer das per Hand macht, gehört ja auch gestraft.
So nach dem Moto: "Selber schuld, so einer wie Du der sich die Arbeit macht gehört ehe bestraft."
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

sape hat geschrieben:
Leonidas hat geschrieben:[...]
Mit sed und awk sicher etwas arg kompliziert, aber mit Python ist doch sowas ganz schnell geschrieben. 10 Zeiler ist durchaus realistisch.
Als 10 zeiler halte ich das nicht realistisch. Habs aber nicht probiert.
Also, dann mal Butter bei die Fische:

Code: Alles auswählen

#!/usr/bin/env python
import sys

indoc = False; prevline = ""; out = []
for line in open(sys.argv[1]):
    if line.startswith("'''"): indoc = not indoc
    if line.startswith("    ") and len(set(line.strip())) == 1 and indoc:
        line = "    " + line.strip()[0]*len(prevline.strip()) + "\n"
    out.append(line)
    prevline = line

open(sys.argv[1], "w").writelines(out)
Das Format der oben genannten Datei vorausgesetzt.
Außerdem lohnt der Aufwand (testen, etc), IMHO, nicht für 10-20 Dateien.
Schreiben: 5 min. Testen: 2 min. Trotzdem, bei 10 Dateien würde ich es wohl auch von Hand machen.
birkenfeld hat geschrieben: Empfindest du das Ändern von 1000 Source-Dateien nicht als Strafarbeit?
sape hat geschrieben:[...] (übertrieb gesagt) 1K Source Files[...]
Davon abgesehen: Natürlich ist das eine Strafarbeit. Ich finde aber nicht das einer der sich diese Arbeit macht, gestraft gehört. Und das wahr die Aussage deines Satzes:
birkenfeld hat geschrieben:Wer das per Hand macht, gehört ja auch gestraft.
So nach dem Moto: "Selber schuld, so einer wie Du der sich die Arbeit macht gehört ehe bestraft."
Nein, wer sich die Arbeit macht, ist schon gestraft. Er hat es aber auch verdient (wenn es sich denn wirklich um viele Dateien handelt, siehe oben).
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

birkenfeld hat geschrieben:[...]
Schreiben: 5 min. Testen: 2 min. Trotzdem, bei 10 Dateien würde ich es wohl auch von Hand machen.
[...]
Nicht schlecht! :) Ich wäre da nicht in 7 Minuten drauf gekommen und hätte ca. 20-30 Minuten gebraucht.

Nein, wer sich die Arbeit macht, ist schon gestraft. Er hat es aber auch verdient (wenn es sich denn wirklich um viele Dateien handelt, siehe oben).
Ach so :-[. Ja, so können Missverständnisse enstehen.
Antworten