Pixela のグラフを Redash で可視化する
id:a-know さんの Pixela が面白いので、流れに乗って Redash で可視化する Python スクリプトを書いてみました。
Redash 側は Python データソースを作成して、Modules To Import Prior To Running The Script
に urllib2,xml
を書いておきます。
クエリとして書くスクリプトはこんな感じで。
import urllib2 import xml xml_str = urllib2.urlopen('https://pixe.la/v1/users/{{ user }}/graphs/{{ id }}').read() root = xml.etree.ElementTree.fromstring(xml_str) result = {} for e in root.getiterator('{http://www.w3.org/2000/svg}rect'): attrs = e.attrib if 'data-date' not in attrs: continue add_result_row(result, { 'date': attrs['data-date'], '{{ unit }}': attrs['data-{{ unit }}'], }) add_result_column(result, 'date', '', 'datetime') add_result_column(result, '{{ unit }}', '', 'integer')
user
と id
、 unit
はパラメータになってます。
実行するとこんな感じに。
Redash に持ち込むことができれば、Pixela でアクティビティを記録して、アクティビティが途切れてたら Redash で Slack 通知ってこともできそうですね。