Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge
Anmelden
Sektionen
Sie sind hier: Startseite Entwicklungsumgebung Weitere Entwicklungswerkzeuge

Weitere Entwicklungswerkzeuge

Wollen wir weitere Entwicklungswerkzeuge in einem Buildout-Projekt installieren, geben wir diese einfach in der buildout.cfg-Datei an. Folgende Entwicklungswerkzeuge können die Arbeit deutlich vereinfachen:

DocFinderTab

Produkt, das alle Klassen und Methoden eines Objekts im Zope Management Interface (ZMI) auflistet.

DocFinderTab kann direkt als Egg in der Instanz angegeben werden:

[instance]
…
eggs =
    Products.DocFinderTab
pyflakes

Pyflakes analysiert Python-Programme und entdeckt verschiedene Fehlerarten. Es ist sehr viel schneller als das Ausführen der Programme.

pyflakes lässt sich einfach mit Buildout installieren:

parts =
    …
    pyflakes

[pyflakes]
recipe = zc.recipe.egg:scripts
eggs = pyflakes
scripts = pyflakes
entry-points = pyflakes=pyflakes.scripts.pyflakes:main
plone.app.debugtoolbar

Debug-Toolbar, die einfach für eine Plone-Site aktiviert werden kann. Die Installation kann einfach mit Buildout erfolgen:

[instance]
…
eggs =
    plone.app.debugtoolbar
pylint

Pylint analysiert Python-Code in Bezug auf Bugs und geringe Code-Qualität.

Pylint lässt sich einfach mit Buildout installieren:

parts =
    pylint
    …

[pylint]
recipe = zc.recipe.egg
eggs =
    ${instance:eggs}
    pylint
entry-points = pylint=pylint.lint:Run
arguments = sys.argv[1:]
DeadlockDebugger
Für entsprechende Prozesse wird Debugging möglich, indem ein Traceback aller laufenden Pythonprozesse sowohl zum Eventlog als auch zum Browser geschickt wird.
PDBDebugMode
PDBDebugMode erlaubt sog. post-mortem-Debugging für exceptions im Debug-Modus, d.h., bei einem Fehler wird der Debugger aufgerufen, der den Traceback ausgibt.

Diese Entwicklungswerkzeuge lassen sich einfach angeben mit:

[instance]
…
debug-mode = on
eggs =
    Products.PDBDebugMode
    z3c.deadlockdebugger
Products.PrintingMailHost
Monkey Patch, der MailHost-Nachrichten nicht verschickt, sondern auf der Konsole ausgibt, d.h., Zope versendet damit keine Mails mehr.
roadrunner

Testrunner, der die testgetriebene Entwicklung deutlich beschleunigen kann.

roadrunner läd vorab das Standard-Zope- und Plone-Environment für PloneTestCase. zur Installation wird einfach folgendes in die buildout.cfg-Datei eingetragen:

[buildout]
parts =
    …
    roadrunner

[roadrunner]
recipe = roadrunner:plone
packages-under-test = vs.policy

Anschließend kann es wie der reguläre Zope-Testrunner aufgerufen werden:

$ ./bin/roadrunner -s vs.policy
collective.recipe.grp

Rezept, mit dem in Buildout auf ${grp:GROUP} referenziert werden kann um die Gruppe des aktuellen Nutzers herauszubekommen.

Zusammen mit gocept.recipe.env, das Environment-Variablen in einem Buildout-Abschnitt zur Verfügung stellt, lassen sich hiermit die Eigentümer (Owner) der Buildout-Inhalte setzen lassen, z.B. mit:

chown -R ${env:USER}:${grp:GROUP} ${buildout:directory}

Installieren lassen sich die Pakete mit:

[env]
recipe = gocept.recipe.env

[grp]
recipe = collective.recipe.grp
Artikelaktionen