Google AppEngine Python2.7 で画像の Exif 情報を抽出する

Google AppEngine Python2.7 を使って、アップロードした画像ファイルから Exif 情報を抽出してみる。コードは https://github.com/takatama/gae-webapp2-images で公開している。

Images Python API の使用方法 – Google App Engine — Google Developers で紹介されている例は少し古かったので、webapp2を使うように変更した。

Exif を取得する部分は python – Image exif data in google app engine – Stack Overflow を参考にした。ここに書いてあるように、ローカルで AppEngine 開発用サーバを動かしたとき、取得できる Exif は限られているので注意。

 anImage.rotate(0)
 anImage.execute_transforms(parse_source_metadata=True)
 exif = anImage.get_original_metadata()
 

Google AppEngine で EXIF 情報を抽出するには、Images Python API の get_original_metadata() を使う。そのために、execute_transforms() しておく必要があるが、image に対して何も操作せずに execute_transforms() を呼び出してもエラーになるため、rotate(0) してある。

もっと Python らしいコードが書けるようになりたいな。

開発マシンは Mac OS X 10.7。AppEngine 開発用サーバで images API を使うため、PILをインストールした。備忘録として、開発マシンの設定作業を書き留めておく。

$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.7.4
BuildVersion: 11E53

(1) Google App Engine Python 2.7 のセットアップ
Google App Engine SDK を Downloads – Google App Engine — Google Developersからインストールする。ダウンロードした dmg をダブルクリックして解凍し、アプリケーションフォルダへ移動する。

Mac には最初から Python 2.7 がインストールされているので、すぐにコーディングを始められる。

$python --version
Python 2.7.1

(2) PIL (Python Imaging Library) インストール
Google AppEngine SDK の開発用サーバを使えば、ローカルで動作確認ができる。images API をローカルの開発用サーバで動かすには、PIL をインストールする必要がある。

$sudo easy_install pip
$sudo pip install pil

(3) GitHub for Mac インストール
GitHubで管理するため、Set Up Git · github:help から GitHub for Mac をインストールして使う。公開鍵、秘密鍵の設定なしで使うことができる。使い始めるまでが楽ちん。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中