[Trac] Modify IEmailSender, E Mail Benachrichtung anpassen
Verfasst: Mittwoch 4. August 2010, 14:22
Hallo zusammen,
ich bin mir nicht sicher ob dies das richtige Unterforum ist, ist eine Frage zu Trac.
Ansonsten bitte einfach verschieben.
Ich bin mir bewusst, dass es sich hier um ein Python Forum handelt, aber da hier
viele fähige Programmier rumlaufen, dachte ich mir, vielleicht hat das ja schonmal
wer gemacht.
Zielsetzung von mir ist es, mittels Plugin das Benachrichtiungssystem von Trac zu
überarbeiten. Momentan wird entweder keine oder jede Änderung (sofort) übertragen.
Ich möchte nun das der Benutzer (in einer extra Oberfläsche) einstellen kann,
welche Email er sofort, täglich, wöchentlich in welcher Form bekommen will.
An sich auch kein Problem, Oberfläche steht und die Logik ist auch weitesgehend fertig.
[KernProblemstellung - Für die schnellen Leser]
Mir gelingt es nicht den Event von Trac abzufangen, sobald das System
eine Email versenden möchte.
Doch genau bei diesem Event muss ich ja eingreifen um zu kontrollieren wann und wie
Emails versendet werden sollen.
An sich sollte das über den neunen Extension Point / Erweiterungspunkt IEmailSender
(seit Version .12) möglich sein.
Mit folgendem Code, bekomme ich allerdings vom Event nichts mit (die Email wird
korrekt verschickt)
So wollte ich fragen, ob von euch vielleicht einer in der Richtung schon was gemacht hat, und mir
einen Hinweis geben könnte, wo ich hier eingreifen muss.
Vielen Dank schonmal für die Hilfe.
Grüße
Stefan
Quellen:
Plugin-Entwicklung unter Trac: http://trac.edgewall.org/wiki/TracDev/PluginDevelopment
Extension Point
Entsprechende Klasse: notification.py
http://trac.edgewall.org/browser/trunk/ ... ication.py
ich bin mir nicht sicher ob dies das richtige Unterforum ist, ist eine Frage zu Trac.
Ansonsten bitte einfach verschieben.
Ich bin mir bewusst, dass es sich hier um ein Python Forum handelt, aber da hier
viele fähige Programmier rumlaufen, dachte ich mir, vielleicht hat das ja schonmal
wer gemacht.
Zielsetzung von mir ist es, mittels Plugin das Benachrichtiungssystem von Trac zu
überarbeiten. Momentan wird entweder keine oder jede Änderung (sofort) übertragen.
Ich möchte nun das der Benutzer (in einer extra Oberfläsche) einstellen kann,
welche Email er sofort, täglich, wöchentlich in welcher Form bekommen will.
An sich auch kein Problem, Oberfläche steht und die Logik ist auch weitesgehend fertig.
[KernProblemstellung - Für die schnellen Leser]
Mir gelingt es nicht den Event von Trac abzufangen, sobald das System
eine Email versenden möchte.
Doch genau bei diesem Event muss ich ja eingreifen um zu kontrollieren wann und wie
Emails versendet werden sollen.
An sich sollte das über den neunen Extension Point / Erweiterungspunkt IEmailSender
(seit Version .12) möglich sein.
Mit folgendem Code, bekomme ich allerdings vom Event nichts mit (die Email wird
korrekt verschickt)
Code: Alles auswählen
class mailtest(Component):
implements(IEmailSender)
#IEmailSender
def send(self, from_addr, recipients, message):
print "IEmailSender"
print "From: %s"%from_addr
print "To: %s"%recipients
print "message: %s"%message
return from_addr, recipients, message
einen Hinweis geben könnte, wo ich hier eingreifen muss.
Vielen Dank schonmal für die Hilfe.
Grüße
Stefan
Quellen:
Plugin-Entwicklung unter Trac: http://trac.edgewall.org/wiki/TracDev/PluginDevelopment
Extension Point
Code: Alles auswählen
class IEmailSender(Interface):
"""Extension point interface for components that allow sending e-mail."""
def send(self, from_addr, recipients, message):
"""Send message to recipients."""
http://trac.edgewall.org/browser/trunk/ ... ication.py