macOSで撮ったスクリーンショットを日付フォルダへ自動で振り分ける
とにかくフォルダが整理されていないと気が済まないのであります。
ではやっていきます。
スクリーンショットの保存場所を変更する
保存場所を作成
$ mkdir ~/Pictures/ScreenShots
保存場所の変更
$ defaults write com.apple.screencapture location ~/Pictures/ScreenShots
SystemUIServerを再起動
$ killall SystemUIServer
これで/Users/[ユーザー名]/Picutures/Screenshots
内にスクリーンショットが保存されるようになる。
Automatorで自動振り分け設定をする
設定の流れについてはこちらの記事に書いてあるとおりなので省略します。
Automatorに設定するスクリプトを以下のものにしてください。 (ユーザー名の部分を変えること)
IFS=$'\n' ssdir=/Users/[ユーザー名]/Pictures/ScreenShots today=$(date +"%Y%m%d") for f in "$@" do if [ -f $f ]; then if [ ! -d $ssdir/$today ]; then mkdir $ssdir/$today fi mv $f $ssdir/$today fi done
ScreenShotsフォルダにファイルが追加されたら日付フォルダに移動します。 日付フォルダが存在していなければ作成します。
下記のような感じになるようにしています。
/Users/[ユーザー名]/Pictures/ScreenShots/20170605/スクリーンショット 2017-06-05 21.03.51.png
まとめ
もう夏ですね。
参考
docker-lambdaで簡単なLambda開発環境を構築
使ってみた時に調べたことをメモ。
前提
- Mac
- Docker version 17.03.1-ce, build c6d412e
- aws-cli/1.11.82 Python/3.6.1 Darwin/16.6.0 botocore/1.5.45
- こちらの記事を参考にデプロイパッケージ作成用のImageをmylambdaという名前で準備済み
- Python3.6のLambda環境を作るよ
手順
1. 新規作成Directory内に以下のファイルを作成する
- lambda_function.py
-
def lambda_handler(event, context):
がhandlerになる
-
- requirements.txt
# こんな感じ requests
- input.json
# こんな感じ { "key3": "value3", "key2": "value2", "key1": "value1" }
2. デプロイパッケージを作成する
$ docker run -v "$PWD":/var/task mylambda
実行するとdeploy_package.zipが作成される。
3. ローカルでFunctionを実行してみる
$ docker run -v "$PWD":/var/task lambci/lambda:python3.6 lambda_function.lambda_handler $(printf '%s' $(cat input.json))
すでにコンテナが存在する場合は
$ docker start -a [コンテナID]
Lambdaファンクションの実行結果が出力される。
4. AWS CLIを使ってlambdaにアップロードする
$ aws lambda create-function \ --role arn:aws:iam::[アカウントID]:role/lambda_basic_execution \ --runtime python3.6 \ --handler lambda_function.lambda_handler \ --zip-file fileb://./deploy_package.zip \ --region ap-northeast-1 --function-name MyTestFunction \
5. コードを更新する
aws lambda update-function-code \ --zip-file fileb://./deploy_package.zip \ --publish --function-name MyTestFunction \
まとめ
Dockerばり便利。