vimからgoogle docsを操作したい 〜その3〜
〜その2〜で作成したgoogle docsプラグインに致命的な問題発見。
ドキュメントをダウンロードで、改行のみの行が改行×2になって返ってくる。
どうやらGoogle docsの仕様のようです。
百練自得の極みかよ
この人の真似して'\n\n'→'\n'置換をすることにした。(かなり強引だが
https://github.com/Codier/angular.js/commit/d428c9910e66246c2af46602499acaeaf187d75b
MGoogleクラスにfixFuckingLFBug()メソッドを追加して、downloadTxt()で呼び出し。
一応ダウンロードしたデータはbakcup残しておく。
以下、コード。
def downloadTxt(self, resource_id): for entry in self.client.GetDocumentListFeed().entry: if entry.resourceId.text == resource_id: out_path = U(entry.title.text) + '.txt' self.client.Export(entry, out_path) + self.fixFuckingLFBug(resource_id) mylogger.info('Completed downloading %s. ' % entry.title) break mylogger.info(entry.resourceId.text) # 改行増殖バグ def fixFuckingLFBug(self, resourceId): path = self.docs_dict[resourceId] + ".txt" f = open(path, 'r') r = f.read() f.close() if os.path.exists(path+'.bk'): os.unlink(path+'.bk') os.rename(path, path+'.bk') f = open(path, 'w') f.write(S(r.replace('\n\n', '\n'), 'cp932')) f.close()