QFixHowm - GoogleDocsにhowmファイルを登録する

GoogleCLでGoogleDocsにファイルを登録する

QFixHowmのファイルを GoogleCLを利用して Google Docsに登録することが出来ます。

GoogleCLはコマンドラインから Blogger、Google calendar、Google Docsなどに登録、削除などを実行するための Pythonスクリプトです。
なお Windows用にはpy2exeでコンパイルされた実行ファイルも用意されているので Pythonのない環境でも実行可能です。

vim/gvimの使えない環境ではGoogle Docsを利用してhowmファイルを閲覧したい場合に使用してください。
現在GoogleCLからは Google Docsでの更新時間が取得できないので、Google Docsでの変更は反映されない一方通行のみの実装です。

GoogleCLのダウンロード

http://code.google.com/p/googlecl/downloads/list
googlecl-0.9.11-win32.zipをダウンロードして解凍します。
c:/tempに解凍したとすると c:/temp/dist に google.exeが有るはずです。

Pythonが使用可能な環境では、pythonスクリプトを実行して使用することも出来ます。
http://code.google.com/p/googlecl/wiki/Install

以下 c:/temp/dist/googleで実行可能として説明しますので、パスやバージョン等は適宜読み替えてください。

GoogleCLの認証

一度実行してGoogleCLを使用可能にします。
コマンドプロンプトから c:\temp\dist に移動してリストを取ってみます。
cd c:\temp\dist
google docs list
vimのコマンドモードから実行しても良いかもしれません。
:cd c:/temp/dist
:!google docs list

GoogleCLの使用が初めての場合は、ブラウザが開かれ認証を要求されます。
ユーザ名とパスワードを入れて使用可能にしてください。

GoogleCLの設定

QFixHowmではファイル登録の際に、 登録済の同名ファイルを削除してから登録処理を行います。
このとき一々確認を求められると面倒なので確認しないようにGoogleCLを設定します。
Windowsの場合、設定は C:/Documents and Settings/ユーザー名/.googlecl/config に保存されています。
Ubuntuでは、~/.config/googlecl/config です。

修正するのは 以下の二つです。
[GENERAL]

delete_by_default = True
delete_prompt = False

vim の設定

  1. googlecl.vim をダウンロードして qfixapp/plugin などランタイムパスの通った場所にコピーします。
  2. .vimrcで GoogleCLの実行ファイル名を指定します。
    実行ファイル自体にパスを通している場合は googleだけでもかまいません。
    "GoogleCLの指定
    let GoogleCL = 'c:/temp/dist/google'

Google Docsへの登録設定とアップロード

設定

.vimrcに QFixHowmBufWritePost()を追加することでhowmファイル保存後にユーザー独自処理を行うことが出来ます。
ここで GoogleDocsへの保存対象ファイルを登録設定します。
ファイル保存した時点では GoogleDocsへのアップロード自体は行われません。
"howmファイル保存後の自動処理用関数
function! QFixHowmBufWritePost()
"Google Docsへの保存処理
  call GDSave()
endfunction


アップロード

GoogleDocsに手動でアップロードする場合は :GDUpload を実行します。
:GDUpload

vim終了時に自動でアップロードしたい場合は以下を設定します。
"vim終了時に自動でアップロード
let GD_AutoUpload = 1

オプション

GoogleDocs登録用の一時ファイルはGD_TempDirに保存されます。
"GoogleDocs登録用の一時ファイル保存場所
let GD_TempDir = 'c:/temp/howm_gdtemp'
GD_TempDirはアップロード実行後に自動消去されます。


GoogleDocsにはファイル名をキーにしてそのまま登録します。
howm_dir内のファイルで同名ファイルが存在する設定で使用している場合は、GoogleDocs上でバッティングしないようにすることが出来ます。
"同名ファイルが含まれている場合
let GD_filenameMode = 1
howmファイルを同一ディレクトリに全てコピーした場合、ファイル名がバッティングしないなら必要有りません。


Comments