imghashlist.txt を作り直す

双助が作成する画像の情報が入った imghashlist.txt を消してしまったときに使用すると、imghashlist.txt を復元できます。 あとはいらない画像ファイルを手動で削除したときに、存在するファイルと imghashlist.txt との整合性を取りたいときにも使えるかな。 並び順は復元できないけど、たぶんそれは問題にならないと思う。

ダウンロード

Python で書いてあるので双助が動く環境であれば動作すると思います。

使い方

  1. ファイルをダウンロードしたら、エディタで開いて上のほうにある futa_dir を自分の環境に合わせて書き換えてください。

    ## ここだけいじってから実行してください
    # 双助があるディレクトリ
    # UNIX 系 OS を使ってる人
    #futa_dir = r'/home/chiba/futaba/'
    # Windows を使ってる人
    futa_dir = r'E:\documents\futasuke\futasuke-2006-03-26'
    
  2. Windows ならダブルクリックで大丈夫だと思います。 進捗状況のようなものを見たい場合はシェル上 (Windows ならコマンドプロンプト、UNIX 系 OS を使ってる人はターミナルか仮想コンソール) から実行してください。

     $ python remake_imghashlist.py
    
  3. ため込んでいる画像の量にもよりますが、しばらく待つと処理が終わります。 あまりにも早く処理が終わった場合はエラーが起こってるかもしれないです。 シェル上から実行するとエラーメッセージが残るので、そっちからの実行をおすすめ。 新しいファイルは imghashlist.txt.new という名前で、指定した futa_dir に作成されるので、壊れたり消したりしてしまった imghashlist.txt に上書きしてください。

    約 62 万個、17 GB の画像がある私のところでやった場合は 460 秒くらいかかりました。 Linux で Pentium4 1.7 GHz という PC 環境。 CPU への負荷は大したことないけれどディスク IO がすごいです。

ちょっと気になるところ

これはちょっとじゃあないんですが、行数が増えます。 量が膨大なので何が違うのか比較する気になれないのですが、たぶん支障ないです。

nov サーバでは画像があるところが http://nov.2chan.net:81/ になってますが、双助が画像を保存するディレクトリ名は nov.2chan.net/ になってます。 Windows だとファイルやディレクトリ名に ":" を使うことができないという制限のための処置だと思います。 このスクリプトは保存しているディレクトリ構造から imghashlist.txt を再生成するので、素直にやるとポート指定の部分を復元できません。 今のところは nov.2chan.net にあるファイルだったら、元の画像があったアドレスは nov.2chan.net:81 だったと決め打ちしています。 それで困ることがあったら教えてください。