HTML-like PDF-Erzeugung

Mit dem Python Modul PDFDocument im Zusammenhang mit Reportlab lassen sich spielend leicht PDF-Dokumente mit Python generieren. Es werden dabei zwei verschiedene Templates (für Reports oder im Letter-Style) verwendet, mit denen sich anhand einer HTML-ähnlichen Syntax PDF-Dateien erzeugen lassen.

Hier die unterstützten Typen:

  • pdf.style.normal
  • pdf.style.heading1
  • pdf.style.heading2
  • pdf.style.heading3
  • pdf.style.small
  • pdf.style.bold
  • pdf.style.right
  • pdf.style.indented
  • pdf.style.paragraph
  • pdf.style.table

Einfacher SMTP-Server in einer Zeile Python

Pythons SMTP-Server in KommandozeileEs gibt unzählige Beispiele, wozu ein SMTP-Server bei der Webentwicklung nützlich ist. Sei es, dass man den Versand von Formulardaten testen will, oder Registrierungsinformationen aus dem Content Management System versand werden sollen. In solchen und ähnlichen Fällen benötigt die Applikation für den Versand der E-Mails einen SMTP-Server.

Da der im Serverbetriebssystem vorinstallierte SMTP-Server und Fremdprodukte oftmals nicht auf die Schnelle konfiguriert werden können, kann man sich sehr einfach mit einer Zeile Python helfen:

python -m smtpd -n -c DebuggingServer localhost:25

Dies bewirkt, dass die versendete Mail bei Ankunft einfachin der Konsole ausgegeben wird. Nicht wundern vorher wird gar nichts angezeigt.

Daten „pumpen“ zwischen CSV und MySQL mit Python

Daten mit dem Python Modul „csv module“ als Excel-lesbares CSV exportieren:

csv.writer(fileobj, dialect='excel-tab', 
lineterminator='\n')

Wenn diese CSV Textdatei in MySQL importiert werden soll, kann man es mit dem Python Modul „mysqlimport“ durchführen:

mysqlimport \
      --user=USERNAME \
      --password \
      --columns=COLUMNS \
      --compress \
      --fields-optionally-enclosed-by='"' \
      --fields-terminated-by='\t' \
      --fields-escaped-by='' \
      --lines-terminated-by='\n' \
      --local \
      --lock-tables \
      --verbose \
      DATABASE INPUT.csv

Mit CSS externe/ausgehende Links kennzeichnen

Die aktuellen Browser unterstützen nun auch die Erkennung von Zeichenketten in gesetzten Links. So kann z.B. per CSS gesteuert werden, wie Links dargestellt werden, die mit dem HTML Attribut _blank gekennzeichnet sind. Oder auch Links auf E-Mail Adressen lassen sich mit einem anderen Icon anzeigen. Das Ganze funktioniert sogar mit regulären Ausdrücken, sodass man sogar den Link selbst auswerten kann.

Z.B.:

a[class="popup"] {
   padding-right: 18px;
   background: transparent url(icon_popup.gif) no-repeat center right;
}

oder :

a[target="_blank"] {
   padding-right: 18px;
   background: transparent url(icon_popup.gif) no-repeat center right;
}

Mehr Ideen sind auf AskTheCSSGuy zu finden.

Microsoft SQL Server Express einen Test wert ? Nein !

Diese Frage wird von Microsoft schon persönlich bei der Installation der Visual Studio Express Edition im Kleingedruckten der EULA beantwortet. Dort steht nämlich wörtlich:

Ohne vorherige schriftliche Zustimmung von Microsoft sind Sie nicht berechtigt, Ergebnisse von Vergleichstests mit der dieser Software beiliegenden SQL Server-Software gegenüber Dritten offen zu legen.

Ich glaube damit erübrigt sich wohl die Frage. Wenn Microsoft von der Performance seines Produkts nicht einmal selbst überzeugt ist, wer kann es dann sein ?

Merlin zum denken bewegen per MS Agent Automation

 
import win32com.client 
import time   
ag=win32com.client.Dispatch("Agent.Control") 
ag.Connected=1 
ag.Characters.Load("Merlin") 
ag.Characters("Merlin").Show() 
text = raw_input("Bitte etwas eingeben...") 
ag.Characters("Merlin").Think(text) 
ag.Hide() time.sleep(5)

Testen, ob eine Python Variable existiert

Testen, ob eine lokale Variable x existiert:

vars().has_key(‚x‘)

Testen, ob eine globale Variable x exitiert:

globals().has_key(‚x‘)

Siehe auch: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/59892