mfpy
MoneyForward クラウド勤怠といい感じに通信していい感じに打刻するやつ
- Requests + bs4 でできてます
- Seleniumなどブラウザで殴る系パッケージは使ってないので軽量!
- そのままCLIツールとして使えて便利!
- もちろん
importしてご自身の時間管理ツールと結合して使って頂けます
今ある機能
- 出勤・退勤・休憩・休憩終了のリアルタイム打刻
- 過去の打刻を一括登録(「日時勤怠」ページでの打刻に相当)
環境
- Python 3.8.2
- 3.7.7で動くことを確認しました
- 3.6では動きません
- macOS Catalina (10.15.4)
- その他のOSでも多分動きます
入れ方
$ pip install mfpy
失敗する場合: setuptoolsが古いとsetup.cfgを解釈してくれないので、 pip install mfpy に失敗する場合は pip install -U setuptools を実行してみてください。
使い方 (CLIツールとして)
基本形は
$ python -m mfpy -c {会社ID} -u {ユーザーID} -p {パスワード}
で、ここにサブコマンドを指定します。
出勤・退勤・休憩・休憩終了
$ python -m mfpy -c {会社ID} -u {ユーザーID} -p {パスワード} startjob # 出勤
$ python -m mfpy -c {会社ID} -u {ユーザーID} -p {パスワード} finishjob # 退勤
$ python -m mfpy -c {会社ID} -u {ユーザーID} -p {パスワード} startbreak # 休憩
$ python -m mfpy -c {会社ID} -u {ユーザーID} -p {パスワード} finishbreak # 休憩終了
成功したら OK!、失敗したら Failed ({ステータスコード}) と表示します。
打刻一括登録
複数打刻の登録には postentries サブコマンドを使用します。
-d で日付を指定し(省略すると今日扱い)、残りの引数に HH:MM,HH:MM の形式で1つ以上作業時間を記述します。
作業時間が1つのみだった場合は、そのまま「出勤」→「退勤」で打刻し、2つ以上ある場合は
「出勤」→「休憩開始」→「休憩終了」→「休憩開始」→…→「休憩終了」→「退勤」
という風に打刻します。(現在のところ、打刻の種類を手動で指定できるローレベルAPI的なのは用意していません)
例えば、
$ python -m mfpy -c {会社ID} -u {ユーザーID} -p {パスワード} postentries \
-d 2020-04-28 \
"10:00,11:00" "11:22,12:34"
と実行すると、
- 10:00 出勤
- 11:00 休憩開始
- 11:22 休憩終了
- 12:34 退勤
と登録されます。
使い方 (Python モジュールとして)
mfpy パッケージを import してご自身のプログラムからMF勤怠に打刻するのに使えます。
サンプルとして、使用例の全パターンを /mfpy/__main__.py に記述しています。参考にしてください。
例えば、出勤打刻するには以下のように呼びます。
import mfpy
with mfpy.client('company_id', 'user_id', 'password') as client:
print(f'Starting job... ', end='')
ok, status = client.start_job()
print('OK!' if ok else f'Failed ({status})')
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file mfpy-1.0.0.tar.gz.
File metadata
- Download URL: mfpy-1.0.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edf560196e69a919afe1eb65e8bfa03aab5c63941f2f45cabeb970759254b10e
|
|
| MD5 |
54ce3636f27ef9a5b969a574f55cd5d2
|
|
| BLAKE2b-256 |
5743f8001f08e9bd79be5c781ed5a1c7bfeb502cf980752d56b2d8a539c03b36
|