TracGanttCalendarPluginの文字コードエラーを解消する

 GanttCalendarPlugin の見た目に惹かれてインストールしてみたが、ファイル内部で日本語が使われているためか、エラーが発生する。ちなみに Python のバージョンは 2.5.2。

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)

 とりあえず、ticketcalendar.py と ticketgantt.py にて日本語で書かれているところを u〜 を付ければ動いた (Python のことは知らないけど、これ何て言うんだろう?)。

# tag.a('カレンダー', href=req.href.ticketcalendar()))
tag.a(u'カレンダー', href=req.href.ticketcalendar()))

しかし、このままでは動いてもメニューの文字が暗号のような文字になってしまうので、ファイルの先頭に

#!-*- coding:utf-8 -*-"

を付ける必要があった。と言うわけで、修正点を纏めると↓みたいな感じかな?

★ ticketcalender.py

#!-*- coding:utf-8 -*-"
import re, calendar, time
from datetime import datetime, date, timedelta
    def get_navigation_items(self, req):
        if req.perm.has_permission('TICKET_VIEW'):
             yield ('mainnav', 'ticketcalendar',
                    tag.a(u'カレンダー', href=req.href.ticketcalendar()))

★ ticketgantt.py

#!-*- coding:utf-8 -*-"
import re, calendar, time
from datetime import datetime, date, timedelta
from genshi.builder import tag
    def get_navigation_items(self, req):
        if req.perm.has_permission('TICKET_VIEW'):
            yield ('mainnav', 'ticketgantt',
                   tag.a(u'ガントチャート', href=req.href.ticketgantt()))