LoginSignup
4

More than 5 years have passed since last update.

Etherpad-liteのAPIをPythonで叩く

Posted at

はじめに

 会議の議事録を複数人で同時編集できるツールを探していたらEtherpad-liteにたどり着いた。オープンソース故に社内サーバ上で運用できるのでGoogle Docsと違って社内情報を外部に晒す危険性がない。

 参考: みんなでノートをとったりできる同時編集対応のメモツールをいくつか紹介

 しかしながら素のEtherpad-liteではPadの一覧参照などができなかったりUIがやや無骨だったりとイマイチなので、それなりに使えるものとして運用するためにはAPIを叩くWebサービスを自作する必要がある。

 まずは基本的な操作方法を習得するため、PythonからAPIを叩いてみることにした。

APIの叩き方

 Etherpad-liteのAPIをPythonで叩くためのラッパーはChangaco/python-etherpad_lite
で公開されている。

 本説明におけるフォルダ構成は以下に示すものとする。

root/
    etherpad-lite/
        APIKEY.txt
          :
          :
    py_api.py

 Etherpad-liteが起動している状態で以下のようにしてAPIを叩くことができる。

 c.api_version = '1.2.13'とあるように、APIのバージョンを明示的に指示してやらないと現時点で公開されている最新のAPIの関数を実行できない。

py_api.py
from etherpad_lite import EtherpadLiteClient

f = open('./etherpad-lite/APIKEY.txt')
apikey = f.readline()
f.close()
c = EtherpadLiteClient(base_params={'apikey': apikey})
c.api_version = '1.2.13'

# padの作成
c.createPad(padID='hoge')

# pad一覧の取得
c.listAllPads()
# => {'padIDs': ['hoge']}

# padの削除
c.deletePad(padID='hoge')

DjangoでWebサービスを作ってみた

 Python Django入門 (1)を参考にしてPadの作成、一覧表示、削除が可能なWebサービスを作ってみた。

 gkmaro634/etherminutes

image.png

 2017/04/12時点では実装できなかったがPad内の全文検索、ユーザー認証などの機能拡張にもトライしたい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4