Python
MacOSX

ブラウザで保存したファイルをダウンロード元サイト別にフォルダ分け

More than 5 years have passed since last update.

ブラウザのファイル保存先は一つしか選べませんが、pixivから保存した画像は2次元フォルダ、DMMから保存したものは3次元フォルダに分けたい!!みたいなニーズがあったので手法をメモしておきます。


準備

pipかeasy_installでxattrをインストール。

pip install xattr

Automator.appを起動してフォルダアクションを新規作成します。ライブラリからシェルスクリプトを実行を追加して、実行するスクリプトに下の内容を貼り付けます。


find_by_xattr.py

import os

import xattr
watchdir='/Users/horimislime/Desktop/'
#search files downloaded from pixiv
domain='www.pixiv.net'

for file in os.listdir(watchdir):
try:
fullpath=os.path.join(watchdir,file)
if xattr.getxattr(fullpath,'com.apple.metadata:kMDItemWhereFroms').find(domain) > 0:
print fullpath
except:
pass


このスクリプトだとpixivからDesktop上にダウンロードしてきたファイルを振り分けます。

次にFinder項目を移動を追加して、ファイルの振り分け先ディレクトリを選択。完成形はこんな感じです。

automator


実行

最後に適当な名前でフォルダアクションを保存しておわり。pixivから画像を保存したら指定したディレクトリに移動しているはず。


仕組み

MacではExtended Attributesというファイルの拡張情報があり、xattrを使うとここに含まれているファイルのダウンロード元ドメイン等を読み込むことができます。 

xattrコマンド

これでデスクトップがアレなファイルで埋め尽くされなくなりました。Automator便利!

Firefoxユーザは拡張機能で同じ事ができるらしい?

Automatic Save Folder :: Add-ons for Firefox