1. Martin von Löwis
  2. xist-3k

Commits

Show all
Author Commit Message Date Builds
Walter Dörwald
parsefile und parsestring sind jetzt Memberfunktionen der Klasse XSC, die ihren eigenen privaten Parser anlegt.
Walter Dörwald
Exception-__doc__s ausführlicher gemacht.
Walter Dörwald
Alle Exceptions von EHSC... in XSC... umbenannt.
Walter Dörwald
Neue Option retrieveremote, die angibt, ob entfernte URLs verfügbar sind. XSCimg erstellt jetzt in __str__ eine Kopie von sich, und setzt die Breiten- und Höhenattribute in der Kopie. Filegrößenbestimmung funktioniert jetzt auch mit Remote-URLs.
Walter Dörwald
Bei serverrelativen URL wird jetzt eine vollständige URL (d.h. mit "http://"; und Servername) erzeugt. Der Servername ist als xsc.server zugänglich und änderbar und ist defaultmäßig "localhost". Alle Bilder werden über das urllib-Modul gelesen.
Walter Dörwald
"/" muß natürlich weg, da ja die URL schon mit "/" beginnt.
Walter Dörwald
Option korrigiert.
Walter Dörwald
xsc_serverdir ist auch in xsc und hat keinen / => einfügen.
Walter Dörwald
Überflüssige Debugausgabe entfernt. Bei unbekannten Elementen wird jetzt eine Exception geschmissen.
Walter Dörwald
Uups! Vergessen PIL wieder einzukommentieren.
Walter Dörwald
Im XSCFrag-Konstruktor hat ein else: gefehlt Fehler in XSCAttrs.__setitem__ korriert (attr => index) Attribute "nowrap" und "bgcolor" zu Element "td" hinzugefügt. xsc_test.py muß jetzt natürlich auch str() benutzen, statt html(). In einer Exception war noch ein html() statt ein str() drin (wobei sich fragt, ob sowas in eine Exception gehört). XSCpixel.__str__ geändert. XSCAttrs.__add__ und XSCAttrs.__radd__ haben XSCFrags und waren ziem…
Walter Dörwald
Element z funktioniert, Doku etwas verbessert, Überflüssiges entfernt.
Walter Dörwald
XSCAttrs als Klasse, die ein Dictionary von Attributen darstellen funktioniert. Beim Setzen der Attribute werden diese in die entsprechenden Attribut-Knoten eingepackt, und beim holen der Attribute werden sie wieder ausgepackt.
Walter Dörwald
Noch ein paar Elementklassen auf das neue System mit __repr__ und __str__ angepaßt.
Walter Dörwald
Veralteten Klassennamen korrigiert.
Walter Dörwald
Struktur mal wieder komplett umgeschmissen: Im Baum sind jetzt nur noch von XSCNode abgeleitete Objekte. Element-Inhalt ist ein XSCFrag und Attribute werden auch noch zu einem von XSCNode abgeleiteten Objekt. Es muß dann natürlich sichergestellt werden, daß alle Objekte, die ins System hineínkommen, in von XSCNode abgeleitete verwandelt werden, dies wird über die Funktion ToNode() erledigt, diese muß an allen "gefährlichen" Stellen aufgerufen werden, dies sind z.B. die Konstruktoren von XSCElement und XSCFrag und die Additionsoperatoren. Ausgabe im "Originalformat" (bei dem auch die URLs in einer vom aktuellen Verzeichnis aus verwendbaren Form ausgegeben werden, geschieht jetzt über die __repr__-Funktion. Konvertierung nach HTML geschieht in __str__.
Walter Dörwald
Es gibt jetzt nicht mehr zwei Funktionen AsString() und AsHTML(), sondern nur noch eine namens html(), diese ist global. Es wird außerdem kein XSC-Objekt mehr hinundher gereicht, sondern die Information über den Dateinamen wird in die globale Variable xsc_filename geschrieben.
Walter Dörwald
Attributnamen werden jetzt auch vor der Benutzung in Kleinbuchstaben umgewandelt.
Walter Dörwald
__delitem__ löscht jetzt nur, wenn das Attribut tatsächlich existiert.
Walter Dörwald
Statt "/" und ".." wird jetzt die Information aus dem os-Modul benutzt.
Walter Dörwald
Leere Elemente habe jetzt bei der Ausgabe keine schließendes / mehr.
Walter Dörwald
Auflösen der projektrelativen URLs funktioniert, und zwar in sechs Zeilen! Ein Hoch auf Python. Allerdings muß eine URL in zwei Versionen vorliegen können: Einmal wie geplant mit aufgelöster Pfadrelativität um im Ausgabefile verwendet werden können, und einmal relativ zum Projekthauptverzeichnis (wozu einfach der ":" weggelassen wird), um Bilder öffnen zu können zur Größenberechnung.
Walter Dörwald
Elementklassen werden jetzt über die globale Funktion RegisterElement registriert, diese hängt nicht nur das Klassenobjekt in das Dictionary sondern setzt auch noch in diesem Klassenobjekt den Member name auf den Elementnamen. Dieser wird jetzt statt des Klassennamens benutzt. Außerdem wird der Elementname vor dem Lookup in unknownstarttag nach lowercase gewandelt.
Walter Dörwald
permitted_attrs heißt jetzt attr_handlers und ist ein Dictionary mit den Attribut-Namen als Keys und Attributklassenobjekten als Einträgen. Beim Konstruieren der Elemente werden dabei die Attribute in die jeweils zugehörigen Attribut-Objekte eingekleidet. URLs expandieren geschieht somit z.B. in der AsString-Funktion der Klasse XSCURLAttr.
Walter Dörwald
Neues Element pixel. Testskript verwendet pixel. __delitem__ in XSCElement eingebaut, um Attribute direkt löschen zu können.
Walter Dörwald
Testskript an neue API angepasst.
Walter Dörwald
Neues Element x, das sämtlichen Inhalt ignoriert. Dieses Element kann zum Auskommentieren von Zeilenvorschüben verwendet werden. Die Bildgrößen-, Filegrößen- und Linkverwurstelfunktionen sind jetzt auch Memberfunktionen von XSC und können damit auch auf die jeweiligen Statusinformationen zugreifen.
Walter Dörwald
Für das Expandieren der projektrelativen URLs wird der Filenamen benötigt und auch sonst werden irgendwann Status- und Konfigurationsinformationen benötigt, diese sollen im XSC-Objekt gespeichert werden. Dieses Objekt muß aber dann in allen AsHTML() und AsString()-Funktionen zur Verfügung stehen. Daher sind diese beiden globalen Funktionen jetzt Memberfunktionen von XSC. Die AsHTML- und AsString-Members von XSCElement und anderen Klassen haben ein zusätzliches …
Walter Dörwald
CheckAttrs() in plaintable und plainbody eingebaut. Leider wird das nicht vererbt. (Evtl. wäre es aber möglich) den Ausruf von CheckAttrs() in den Konstruktor hineinzumachen. Dann dürfen aber an den Konstruktor nur erlaubte Attribute übergeben werden, d.h. Elemente er mal zu konstruieren und dann die Attribute wieder auseinanderzunehmen geht dann nicht mehr.
Walter Dörwald
Das mit dem Packet hat nicht so richtig funktioniert, daher jetzt wieder ganz normal als eine Handvoll Module. Element-Namen werden jetzt bei der Ausgabe in Kleinbuchstaben umgewandelt. XSC hat jetzt eine Methode __str__, damit wird das ganze dann wirklich schön einfach.
  1. Prev
  2. Next