TracLightning(2.5.2)のMailArchivePlugin改造メモ
本家サイトに繋がらない事多いので動かしている環境の改変箇所を自分用にメモ:
- MailArchivePlugin本体
Index: E:/SampleProject/mailarchiveplugin/mailarchive/web_ui.py =================================================================== --- E:/SampleProject/mailarchiveplugin/mailarchive/web_ui.py (リビジョン 2) +++ E:/SampleProject/mailarchiveplugin/mailarchive/web_ui.py (リビジョン 3) @@ -136,7 +136,7 @@ #id = req.args.get('id','') action = req.args.get('action', 'list') - flatmode = (req.args.get('flatmode', 'off') == 'on') + flatmode = (req.args.get('flatmode', 'on') == 'on') if action == 'import': # before import lock db , in order to avoid import twice @@ -200,7 +200,7 @@ pagelized = self._pagelize_list(req, results, data) #Thanks http://d.hatena.ne.jp/ohgui/20090806/1249579406 - data['reversemode'] = reversemode = (req.args.get('reversemode', 'off') == 'on') + data['reversemode'] = reversemode = (req.args.get('reversemode', 'on') == 'on') data['flatmode'] = flatmode mails_per_page, cached_mails = self._get_mails_per_page(pagelized, reversemode, flatmode) Index: E:/SampleProject/mailarchiveplugin/mailarchive/wikisyntax.py =================================================================== --- E:/SampleProject/mailarchiveplugin/mailarchive/wikisyntax.py (リビジョン 2) +++ E:/SampleProject/mailarchiveplugin/mailarchive/wikisyntax.py (リビジョン 3) @@ -36,9 +36,11 @@ return [('ml', self._format_link)] def get_wiki_syntax(self): - yield (r"!?\[(.+?)[ :]([0-9]+)\]", # [xxx 123] or [aaa:123] - lambda x, y, z: self._format_link(x, 'ml', y[1:1], y)) - +# yield (r"!?\[(.+?)[ :]([0-9]+)\]", # [xxx 123] or [aaa:123] +# lambda x, y, z: self._format_link(x, 'ml', y[1:1], y)) + yield (r"!?\[ML:\[(.+?)[ :]([0-9]+)\]\]", # [xxx 123] or [aaa:123] + lambda x, y, z: self._format_link(x, 'ml', y[1:1], y[4:-1])) + def _format_link(self, formatter, ns, target, label): cursor = formatter.db.cursor() cursor.execute("SELECT subject,id FROM mailarc WHERE subject like '%s%%'" % label) Index: E:/SampleProject/mailarchiveplugin/mailarchive/htdocs/css/mailarchive.css =================================================================== --- E:/SampleProject/mailarchiveplugin/mailarchive/htdocs/css/mailarchive.css (リビジョン 2) +++ E:/SampleProject/mailarchiveplugin/mailarchive/htdocs/css/mailarchive.css (リビジョン 3) @@ -1,3 +1,6 @@ + +.mailarchive { font: normal 13px "MS Gothic"; background: #dfd; } + fieldset.collapsed { border-width: 0px; margin-bottom: 0px; Index: E:/SampleProject/mailarchiveplugin/mailarchive/model.py =================================================================== --- E:/SampleProject/mailarchiveplugin/mailarchive/model.py (リビジョン 2) +++ E:/SampleProject/mailarchiveplugin/mailarchive/model.py (リビジョン 3) @@ -18,6 +18,7 @@ from trac.util.compat import set, sorted from trac.util.datefmt import utc, to_timestamp from trac.wiki.formatter import Formatter, WikiProcessor +from trac.wiki import wiki_to_oneliner from api import IEmailHandler from attachment import MailArchiveAttachment
- Trac本体(メール添付ファイルがチケットへの添付と誤認識される件への対策)
Index: python-lib/trac/trac/ticket/model.py =================================================================== --- python-lib/trac/trac/ticket/model.py (リビジョン 4) +++ python-lib/trac/trac/ticket/model.py (作業コピー) @@ -316,10 +316,10 @@ "FROM ticket_change WHERE ticket=%s AND time=%s " "UNION " "SELECT time,author,'attachment',null,filename,0 " - "FROM attachment WHERE id=%s AND time=%s " + "FROM attachment WHERE id=%s AND time=%s AND type='ticket'" "UNION " "SELECT time,author,'comment',null,description,0 " - "FROM attachment WHERE id=%s AND time=%s " + "FROM attachment WHERE id=%s AND time=%s AND type='ticket'" "ORDER BY time", (self.id, when_ts, str(self.id), when_ts, str(self.id), when_ts)) @@ -328,10 +328,10 @@ "FROM ticket_change WHERE ticket=%s " "UNION " "SELECT time,author,'attachment',null,filename,0 " - "FROM attachment WHERE id=%s " + "FROM attachment WHERE id=%s AND type='ticket'" "UNION " "SELECT time,author,'comment',null,description,0 " - "FROM attachment WHERE id=%s " + "FROM attachment WHERE id=%s AND type='ticket'" "ORDER BY time", (self.id, str(self.id), str(self.id))) log = []
- その他の仕込み
[mailarchive] codecaliases = iso-2022-jp:cmd:nkf -J -w -x --cp932,Shift_JIS:cp932 items_page = 200 pop3_delete = imported pop3_password = ****** pop3_server = ****** pop3_user = ****** replaceat = @ wikiview = enabled
call setenv.bat TracMailArchive-admin.exe %TRAC_LIGHT_HOME%\projects\trac\%PROJECT_NAME% pop3 %ML_NAME%
-
-
- schtasksで一時間おきに自動実行
-
schtasks /create /tn "MailArchiveScript" /tr %TRAC_LIGHT_HOME%\python\Scripts\GetPop3.bat /sc minute /mo 60