Picasaの写真の削除を自動化する。

こまちゃん監視システム で使っている googlecl は、Wheezyのパッケージでバージョンが0.9.12のため、Picasaの写真はアルバムまるごとの削除はできるが個別の写真の削除ができないバグがある。Picasaでは1アルバムあたりの写真数の上限が1000ファイルなので、だいたい1日前後でアップデートできなくなってしまう。なので、今まではブラウザでこまちゃんの様子をチェックがてら削除していたのが、まとめて削除しようとするとInternal Server Errorを返したりするので、かなりめんどい。

と、気づいたら 0.9.13 がリリースされていたので、試してみたら個別の写真も削除できる上、削除確認のプロンプトに対して一括してyesを入力する–yesオプションが実装されていた。これはうれしい。ということで、Debianパッケージを作成し、OpenBlockS600にインストールして、下記のようなスクリプトをcronで回すことにした。

#!/bin/bash

USER=GoogleAccount

google -u $USER picasa delete --query "`date --date '12 hour ago' +\"%Y%m%d-%H\"`" --yes

postするときに、–tagsオプションでYYYYMMDD-HHという形式でタグをつけておき、削除するときは、–queryオプションに、dateコマンドの–dateオプションで同じフォーマットで指定時間分の時間を指定する。上記の例だと12時間前のタグついた写真を削除できる。

あと、こまちゃん監視システムを簡単に導入できるように、Post & Delete用のスクリプトと導入手順を githubに公開 しておいた。

修正

“–query”オプションではYYYYMMDD-HH形式のtagの検索ができなかったので、YYYYMMDDHH形式に変更しておいた。