iCloudの画像整理バッチ (1)iniファイルにローカル設定を書こう
経緯・理由
- PCのCドライブのときのように、iCloudもゲームのスクショ画像などで埋まり始めた
- ただ、正直なところ、お気に入りの画像以外はそんなに見ない
- 時々iOSアプリのWorkflowで簡易的にzipファイルを作って転送させようと試みるも、zip化に失敗して闇へと消えていく画像が多数
- 「せめてローカルのDドライブにあれば十分だな……」ということで、今回のバッチ制作にとりかかることに
- これまでは、いろいろ詰め込んで読みにくかったので、機能ごとに分割して連載します
目的・実装予定の機能
目的
- iCloudの同期フォルダはCドライブにあるので、Dドライブに作成済みのアーカイブフォルダへ移動する
- 移動の際、zipファイルとして保管する
- また、zipファイルの中身のサムネイルとして、GIFアニメーションを同時に作成する
- ログはcsvファイルに書き出す
目次
- iniファイルから色々読み込む
- ロガーを取得する
- loggerクラスを作る、loggingの設定を行う
- Rollbarの設定を行う
- (未定)loggingのconfigをyamlファイルで作ってみる
- ファイル情報の取得
- クラスのコンストラクタ(__init__メソッド)
- 複数のチェック項目をall(list)やall(list(dict.values()))で取る
- 応用編:実行ログをdictに集めてlogファイルに出す
- 補足編:tqdm.tqdm(list)の前に、なるべくprint()で何をしているか書いておこう
- ファイルパターンを指定して、入力フォルダからのファイルを絞り込む
- 古いファイルを特定し、list(filter(lambda x: x.bool, files))でさらに絞り込む
- 特定したファイルを転送する
- GIFのコピーを作る(GIFアニメーション用)
- GIFアニメーションを作成する
- PNGファイルをzipファイルに書き込む
- ログの出力(csv, log)
- csv編:csvモジュールで書き出す、またlogにした方が良い情報
- log編:log用のdictを作り、実行結果を必ず書き出すようにする