« Trac 0.11-ja1 | Main | Firebug »

2008.07.11

IAttachmentChangeListener

ITicketChangeListenerを用いた処理の場合、添付ファイルが追加された場合には処理が呼び出されないことが判明。

そんな場合は、IAttachmentChangeListenerを使えばOKのようです。

from trac.core import *
from trac.attachment import IAttachmentChangeListener, Attachment

class AttachmentListenerTest(Component):
  implements(IAttachmentChangeListener)

  def attachment_added(self, attachment):
    if attachment.parent_realm=='ticket':
      #do something

  def attachment_deleted(self, attachment):
    pass

parent_realmとしては、ticketの他にwikiがあります。チケットに対する添付ファイルだけを補足するのであれば、parent_realmがticketのもののみを処理すればOK。なお、チケットIDは、attachment.parent_idで取得することができます(parent_realmがwikiの場合は、wikiページの名前がparent_idに格納されているようです)。

|

« Trac 0.11-ja1 | Main | Firebug »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference IAttachmentChangeListener:

« Trac 0.11-ja1 | Main | Firebug »