trash-cliのtrash-emptyが引数の日数を認識してくれないバグ
trash-cliってCLIからゴミ箱を操作できるツールがあります。
で、そのツールの一つであるtrash-emptyは
引数なしで呼びだすとゴミ箱の中の全てのファイルを削除するプログラムです。
$ trash-empty 30
このように引数ありで呼びだすと、
引数の日数よりも古いファイルのみ削除してくれる。
つまりこの場合30日以上経っているファイルのみ削除するわけです。
しかしリポジトリの最新リビジョンであるr316現在
この引数がまったく無視されてしまいます。
で、ずっとタイムスタンプの問題かなとかいろいろ悩んでたんですが
今日になって以下のURLを見つけてバグとわかりましたので今こうしてエントリ書いてるわけです。ちくしょう...
Comment by: iamcraig on Mon, 06 Dec 2010 10:23:36 +0000
trash-empty 'days' option is ignored. Everything always gets removed from Trash regardless of its deletion time. Look in cli/empty.py and you'll see:
days=0
if len(args) > 1 :
parser.print_usage()
parser.exit()
elif len(args) > 1 :
try :
days=int(args[1])The elif condtition should be 'len(args) == 1' (or 'len(args) > 0'). Upstream has been notified.
AUR (en) - trash-cli
Comment by: iamcraig on Mon, 06 Dec 2010 10:36:09 +0000
and 'days=int(args[1])' should be 'days=int(args[0])'
AUR (en) - trash-cli
iamcraig++
というわけでiamcraigさんの言う通り次のように修正すると無事このバグは直りました。
(ちなみにこのパッチの「sys.exit(1)」のとこは自分が勝手に入れたやつです。
一回数値でない引数渡したら、このexceptのとこに入って
usage表示してるにもかかわらず全部ファイル削除してくれちゃったので)
なんでまだ修正されてないの?
不思議なのはこれ「修正したよ(Done, thanks.)」ってコミッタらしき人*1が
今月の7日に言ってるのに、未だにリポジトリに修正が入ってないこと。
もしかしてこのリポジトリ本家じゃなくミラーだったりするのかな...あとで気力あったら調べる。
*1:っていうかMaintainerのとこに名前あるな