JogNoteのデータをStravaに移行するスクリプト

f:id:kyoshidajp:20130206001741p:plain
JogNoteに入力したエクササイズデータをStravaに移行するPythonスクリプトを書きました。

Stravaについてはこちらのエントリが参考になります。

Stravaには次のデータを登録します。

  • タイトル
  • 距離(JogNoteから取得)
  • 時間(JogNoteから取得)
  • 開始時間
  • 場所

必要なライブラリ

次の外部ライブラリを使用しています。

jognote.pyとstrava.pyはPyPIに登録されていません。また、パッケージ形式になっていないため、ダウンロード(またはチェックアウト)してPythonモジュールサーチパスに追加してください。それぞれjognote2strava.pyと同じディレクトリに配置するのが手軽です。

こちらも参考に。

設定

Stravaにインポートするデータの設定を行います。スクリプトの上の方に次のような箇所があります。

# post setting
COUNTRY = 'Japan'
START_TIME = '00:00:00'
LOCATION = 'Yokohama'
TITLE_PREFIX = '[jognote] '

上から国、開始時間、場所、タイトルの先頭に付ける文字列です。これらはJogNoteには無かった情報で、一括して指定出来るようになっています。

実行方法

コマンドラインから次の様にして実行します。

python jognote2strava.py -i hoge@example.com -p **** -s 2011/01 -e 2013/01 -m fuga@example.com -q ****

-i オプションにはJogNoteアカウントのemailアドレス、-p オプションにはJogNoteアカウントのパスワードを指定します。OpenIDには対応していないのでJogNote自体のアカウントになります。

-sオプションにはJogNoteからエクスポートする開始日、-eオプションにはJogNoteからエクスポートする終了日をYYYY/MMの形式で指定します。上記の例だと2011/01から2013/01の期間で登録されているデータが対象です。

-mオプションにはStravaアカウントのemailアドレス、-qオプションにはStravaアカウントのパスワードを指定します。こちらもOpenIDには対応していません。

その他

StravaにはStrava APIというAPIが公開されていて、アップロードするためのメソッドもあるのですが、データには位置情報(経度、緯度)が必要なため、結局Mechanizeを使ってポチポチと登録しています。