業務の諸作業を自動化するツールを作りたかったので調べてみたところ、Panelライブラリというものが良さそうなので使ってみました。Panelライブラリについては以下のページを参考にしてください。
ツールに対する要求としては以下のとおりです。
- フリーソフトインストール禁止の環境でもつかえること
- GUIで使用できること
- 改造が容易であること
要求に対するPanelライブラリの特徴は以下のとおりです。
- フリーソフトインストール禁止の環境でもつかえること -> WSL上のPythonで動くためOK
- GUIで使用できること -> ダッシュボードがあるため、GUIチックに使えるためOK
- 改造が容易であること -> Pythonで動いておりビルド不要かつ、機能追加したい場合新規にスクリプトを作成すればいいのでOK
作ったもの
ファイルを一括でリネームするツールです。
画面イメージは以下のような感じです。良ければ使ってみてください。
実装方法
実装方法は以下のページを参考にしてください。ここではこのページに記載されていない事項について記載します。
ダッシュボード起動方法
ダッシュボードを起動したい場合は、以下のようにpanel serveというコマンドに.pyファイルを指定して起動します。.pyファイルは以下のようにワイルドカードを使用することが可能です。
$ panel serve app/*.py
複数のスクリプトを起動させている場合は、http://localhost:5006にアクセスすると、アプリケーションを選択することができます。
機能追加したい場合はスクリプトを追加して、ダッシュボードを再起動すればOKです。
動的に入力フォームなどを追加、削除したい場合
動的(ボタン押下時など)に入力フォームなどを追加したい場合は、以下のようにpn.Columnなどのコンテナをあらかじめ用意しておき、そこにAppendすることで追加されます。
# リネーム対象ファイル名の表示用コンテナ
rename_inputs_container = pn.Column()
input_widget = pn.widgets.TextInput(name=filename, placeholder='リネーム後のファイル名 ※手動で編集可')
rename_inputs_container.append(input_widget)
Listと同様に、remove()やclear()も可能です。
Dockerイメージ作成方法
以下のDockerファイルを参考にしてください。