Trac Plugin, Referenz zur Python-Datei funktioniert nicht
Verfasst: Montag 1. Juli 2013, 09:19
Hallo zusammen,
ich bin neu hier im Forum und ebenfalls ein Anfänger was Python und Trac angeht. Ich hoffe das mir jemand mit meinem Problem helfen kann, da ich schon alles mögliche dazu gesucht, gelesen und auspropbiert habe, leider ohne Erfolg.
Ich muss für die Arbeit ein Plugin für das Trac-System programmieren, nach gründlichem Einarbeiten in das Thema, habe ich anhand des Helloworld-Plugins (das funktionierte alles) angefangen mein eigenes Plugin zu schreiben. Und zwar soll nach dem Betätigen der Taste im mainnav eine Seite mit zwei Links angeboten werden:
So weit funktioniert es, wenn ich aber den ersten Link auswähle, müsste/sollte die Datei designflow.py den request bearbeiten und die nächste html seite ausgeben. Das plugin habe ich anhand des tracdeveloperplugins erweitert bzw so soll es im Prinzip funktionieren: http://trac-hacks.org/browser/tracdeveloperplugin/trunk/tracdeveloper. D.h. meine designflow.py ist wie die plugins.py des tracdeveloper aufgebaut. Was mir dabei auffiel ist, dass nur in der main.py der ITemplateProvider implementiert wurde. Ich habe es mit beiden Varianten versucht.
Leider passiert nichts, lediglich die URL wird richtig angezeigt im browser.
Die debug log Datei zeigt auch keine Fehler seitens Trac an.
Hat jemand eine Idee warum das nicht funktioniert?
Ich hoffe ich habe alles verständlich beschrieben und jemand kann mir behilflich sein.
Grüße
Ini
ich bin neu hier im Forum und ebenfalls ein Anfänger was Python und Trac angeht. Ich hoffe das mir jemand mit meinem Problem helfen kann, da ich schon alles mögliche dazu gesucht, gelesen und auspropbiert habe, leider ohne Erfolg.
Ich muss für die Arbeit ein Plugin für das Trac-System programmieren, nach gründlichem Einarbeiten in das Thema, habe ich anhand des Helloworld-Plugins (das funktionierte alles) angefangen mein eigenes Plugin zu schreiben. Und zwar soll nach dem Betätigen der Taste im mainnav eine Seite mit zwei Links angeboten werden:
Code: Alles auswählen
<body>
<div id="content" class="support">
<h1>Support</h1>
<ul>
<li><a href="${href.support('designflow')}">Design Flow Support</a></li>
<li><a href="http://www.google.de">Tool Support</a></li>
</ul>
</div>
</body>
Code: Alles auswählen
class DesignFlowModule(Component):
implements(IRequestHandler, ITemplateProvider)
# IRequestHandler methods
def match_request(self, req):
return re.match(r'/support/designöööflow/?$', req.path_info) #nicht einmal "no handler match request to /designflow" wird von Trac ausgegeben, wenn ich den ööö Fehler einbaue.
def process_request(self, req):
data = {}
add_stylesheet(req, 'ht/css/designflow.css')
return 'designflow.html', data, None
# ITemplateProvider methods
def get_templates_dirs(self):
from pkg_resources import resource_filename
return [resource_filename(__name__, 'templates')]
def get_htdocs_dirs(self):
from pkg_resources import resource_filename
return [('ht', resource_filename(__name__, 'htdocs'))]
Leider passiert nichts, lediglich die URL wird richtig angezeigt im browser.
Die debug log Datei zeigt auch keine Fehler seitens Trac an.
Hat jemand eine Idee warum das nicht funktioniert?
Ich hoffe ich habe alles verständlich beschrieben und jemand kann mir behilflich sein.
Grüße
Ini