なんでわざわざ抽出タブ作ってるか理由を説明するのは面倒くさいから省く
ただリストから抽出タブを作ってる人は他にもいるみたいでどうにか自動化出来ないかなと書いてみた
- Mac 使ってる
- YoruFukurou 使ってる
- Ruby が入ってる
- Thor, Twitter, Plist gem が入ってる
- plutil コマンドが使える
OS X Mountain Lion + App Store 版 YoruFukurou + Ruby 1.9.3 という組み合わせでしか試してない
curl -O https://gist.github.com/raw/4346814/yoru_fukurou_list_sync.rb
使い方
ruby yorufukurou_list_sync.rb <screen_name>
YoruFukurou の <screen_name> のアカウントのタブ設定がリストから最新の状態が反映される
ruby yorufukurou_list_sync.rb --help
Usage:
yorufukurou_list_sync.rb screen_name
Options:
-t, [--twitter-config-path=TWITTER_CONFIG_PATH] # Twitter Configuration ".yml" File Path.
# Default: /Users/ktakeshima/.tw.yml
-y, [--yf-config-path=YF_CONFIG_PATH] # YoruFukurou Configuration ".plist" File Path.
# Default: /Users/ktakeshima/Library/Containers/com.YoruFukurouProject.YoruFukurou/Data/Library/Preferences/com.YoruFukurouProject.YoruFukurou.plist
Sync YoruFukurou Tab Configuration from Twitter Lists.
--twitter-config-path=<path>
で指定出来る
自分は tw gem を自分のアプリケーションで使ってるのでその設定をそのまま流用している
そのためデフォルトは ~/.tw.yml
になってる
---
consumer_key: <key>
consumer_secret: <secret>
users:
<screen_name>:
access_token: <token>
access_secret: <secret>
設定はこんな感じで YAML 形式で書く必要がある
yf-config-path=<path>
で指定出来る
デフォルトは $HOME/Library/Containers/com.YoruFukurouProject.YoruFukurou/Data/Library/Preferences/com.YoruFukurouProject.YoruFukurou.plist
おそらくどの Mac もここに設定があると思うけど他の人の Mac を見たことがないので確証はない
YoruFukurou の設定は .plist として保存されてるが中身がバイナリになってる
これを plutil コマンドで xml 形式に変換したのち plist gem で hash として読み込み書き換え再度 xml 形式で保存してる
因みに .plist の設定ファイルが xml 形式のままでも YoruFukurou は正常に読んでくれる
-
YoruFukurou 側で予め(設定内容は空で良いので)リスト名と同名かリスト名を含む名前の抽出タブを作っておく必要がある(大文字小文字の区別はしない)
これはタブ表示設定のところにタブ設定の UUID が入ってるからだけど自分で入れる処理を書くのが面倒くさかったから -
別のリストの名前を含むリストがある場合(例えば list というリストと list2 というリストがある場合)は変な挙動をするはずなのでリスト名を変えるか適宜スクリプトを書き換えて欲しい
-
このスクリプトは元の設定ファイルをバックアップしてないので、心配な人は適宜スクリプトを書き換えるか事前にバックアップをしよう
-
スクリプトを動かす前に YoruFukurou を終了しておかないといけない
このスクリプトに興味を示すような人は適当に書き換えて使うと思うのでひとまずはこんなやり方で出来るよと主張したかった