前の月 / 次の月 / 最新

hiChangeLog / 2009-10

2009-10
SMTWTFS
123
45678910
11121314151617
18192021222324
25262728293031

2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12

2009-10-06 Tue

呼出し元の関数を調べる [python]

例えば以下のようにすれば、呼んだ関数が列挙される。

for record in inspect.stack():
    print record[3],

MoinMoinを触った [python]

MoinMoinを触ってみた。1.8.5。いい感じ。
ロクにマニュアルも見ていないが、身勝手な不満:
(1)添付ファイルへのリンクがファイルと直接繋がっていない(その添付ファイルにまつわるページに行く)
(2)添付ファイルリストが名前順であり、日付順にできない。

(1)
この不満はviewメソッドの振舞にある:getメソッドが私の望む動作である。
同様に考える人は多いようだが、設計上の一貫性から、設定で変更というわけにもいかぬようだ。
[Moin-user] Changing default behavior on downloads.
なので無理矢理変える方法を考える。
viewメソッドで、action/AttachFile.py中の、_do_viewが呼ばれる。よってここで、getメソッドの中身である_do_getを呼んでしまうのがひとつのテ。
attachment書式にviewメソッドを割当てているのはformatter/text_html.py 中 attachment_linkなので、これをgetにする方が素直な方法だろう。

(2)
action/AttachFile.py 中 _build_filelist をいじる必要がある。ここに添付ファイル名がfilesとなるリストに格納されており、この順に(ブラウザ上に見える)添付ファイルリストが作られているようだ。なんで、その処理の前に日付でソートしてしまえばよい。例えば14行目あたり、"if files:"以降に下記を入れる。

       d = {}
        for file in files:
            fullpath = os.path.join(attach_dir, file).encode(config.charset)
            st = os.stat(fullpath)
            d[file] = request.user.getFormattedDateTime(st.st_mtime)
        d = sorted(d.items(), key=lambda (k, v): (v, k))
        files = map(lambda t:t[0], d)

これらの改造が悪影響を出さぬ事を祈る。

2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2010-03-08 22:21