LoginSignup
6
4

More than 5 years have passed since last update.

バッテリー情報を取得するWebAPPをPythonista3で実装する

Posted at

端末情報にアクセスするためのツールをPythonistaで実装したくてやってみた。
とはいえ、バッテリー情報を取得するスクリプトはPythonistaにサンプルとして実装されているので、flaskを使ってブラウザから取得できるようにした。

実装は以下の通り。

from objc_util import *
from flask import Flask


app = Flask(__name__)


@app.route('/battery')
def get_battery_info():
    UIDevice = ObjCClass('UIDevice')
    device = UIDevice.currentDevice()
    battery_states = {1: 'unplugged', 2: 'charging', 3: 'full'}

    device.setBatteryMonitoringEnabled_(True)
    battery_percent = device.batteryLevel() * 100
    state = device.batteryState()
    state_str = battery_states.get(state, 'unknown')
    device.setBatteryMonitoringEnabled_(False)

    return 'Battery level: %0.1f%% (%s)' % (battery_percent, state_str)


if __name__ == '__main__':
    app.run()

objc_utilでObject-Cのライブラリを使うことができる。
これを使って端末情報を取得してバッテリーの残量を取り出している。
あとはPythonista上でアプリを実行し、Safariからlocalhost:5000/batteryにアクセスすればバッテリーの残量と充電中かどうかの情報が表示される。

Pythonistaをもっと使いこなしたいので、Object-Cとobjc_utilの使い方を調べておきたい。

6
4
0

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
6
4