2010年4月21日水曜日

DeskNet'sからエクスポートしたスケジュールをPythonでGoogleカレンダー用に 整形する

DeskNet's(デスクネッツ)のスケジュールをGoogleカレンダーにインポートして何かいいことあるのかい?
iPhone / iPod Touch が勝手に同期してくれるじゃないか。
 
 

というわけで、PGほぼ素人ながらPython手習いの一環としてスクリプトを書いてみた。
DeskNet'sからエクスポートしたCSVのスケジュールを、Googleインポート用にヘッダ変更と並び変えをして保存するというつくり。
 

まあ、変換するだけなので簡単ですね、サンプルをつなぎ合わせたような。
 

import csv
 
csvfile_in='schedule.csv'
csvfile_out='schedule_out.csv'
 
reader = csv.reader(file(csvfile_in, 'r'))
writer = csv.writer(file(csvfile_out, 'w'), lineterminator='\n')
 
writer.writerow(['Subject','Start Date','Start Time','End Date','End Time','Description','Location'])
 
i = 0
for row in reader:
if i != 0:
# print unicode(row[6], 'cp932').encode('utf8')
rw = [row[8],row[3],row[4],row[5],row[6],row[9]]
print rw
writer.writerow(rw)
 
i = i + 1
 

 

応用でサイボウズもいけますね、ファイル名もなぜか同じだし。
 

これをGoogleのAPIに投げてインポートまで自動化出来たらいいんだけどなあ。
テストツールを使えばともかく、取得元のDeskNet'sやサイボウズとかから取ってくるのをスクリプトで自動化するのが大変。
 
これだけだと汎用性が微妙にエクセルマクロ以下なので、WEBにおいて、CSVアップしたら加工して戻してくれるようにしたいな。
 
 

サイボウズLiveとか、もっとAPI充実しないかなー
 

2010年4月14日水曜日

pythonのコマンド一行WEBサーバは便利、ファイル転送やWEBアプリの確認に

性懲りもなく python なぞに手を出し始めていますが、初期モジュールにHTTPサーバがいくつか入ってます。
その中にWEBサーバがあるんですが、これに驚いた。
 

python -m SimpleHTTPServer
 

Windowsでもいいし、Linuxほかでもいい。この一行でカレントディレクトリをルートにしたWEBサーバがあがる。
 

画像:PythonのSimpleHTTPServerモジュール
 
 

デフォルトだと TCPの8000番で待つのでアクセスしてみる。
 

画像:WEBブラウザでアクセス
 

ちゃんとカレントのディレクトリリスト※が出ている、(起動したユーザのアクセス権によるが)もちろんブラウザやWgetからダウンロード可能。
 

※ index.html があったら優先される。
 
 

設定やら色々追加することでCGIにもなったりしてかなり使いでがあるようだが、とりあえずこれだけすればwget,ブラウザですぐファイルを運べるので覚えとくと便利。
相手が iphone とかでもいいんだよね。
 

覚えておけ!いいからPythonいれとけ!