Skip to content

moyashiki/SyoboiRenamer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SyoboiRenamer

ファイル名をもとにしょぼいカレンダーから情報を取得し自動でリネームするプログラムです。Chinachuの録画後コマンドで使うことを前提に作りましたが、ファイル名を規則通りに付けることで、別ソフトウェアから使うこともできます。SCRenameにインスパイアされています。

このReadmeはChinachuと一緒に使うことを前提に書かれています。

システム要件

  • Ruby >= 2.2 (1.9, 2.0, 2.1でも動くかもしれませんが動作確認していません)
  • しょぼいカレンダーのアカウント(チャンネル設定済み)

開発(動作確認)環境は

  • Ubuntu Server 14.04 LTS
  • OS X 10.9
  • Ruby 2.2.1

設定

config.rb

しょぼいカレンダーのユーザ名を設定してください。このユーザはしょぼいカレンダー上でチャンネル設定が済んでいる事が前提となります。

USER = "henry"

録画したデータのDBファイルを指定しておけば、移動後のファイルパスに書き換えます。

RECORDED_DB = "/home/chinachu/Chinachu/data/recorded.json"

リネーム後のファイル名テンプレートを設定してください。

TEMPLATE = "$Title$/[$StTime$][$ChName$] $Title$ \#$Count$ $SubTitle$"

使える書式は以下の通りです。

書式 説明
$Title$ タイトル
$SubTitle$ サブタイトル
$Count$ 話数
$ChName$ チャンネル名
$StTime$ 放送開始時間 (yymmdd)

また、/が含まれる場合はディレクトリを作成します。

config.rbはRubyプログラムであることに注意してください。

channel.json

チャンネルを定義します。

{
    "<Chinachuのチャンネル>" : [ "<しょぼいカレンダーのチャンネル名>", "<変換後のチャンネル名>" ]
}

設定例はchannel.jsonを参考にしてください。

replace.json

リネーム前後の置換ルールを設定します。優先順位はそれぞれ定義した順番通りです。

{
    "pre" : [
        ["<リネーム前の置換文字列>", "<置換文字列>"]
    ],
    "post" : {
        ["<リネーム後の置換文字列>", "<置換文字列>"]
    }
}

設定例はreplace.jsonを参考にしてください。

Chinachu

ChinachuのrecordedFormatを以下のように変更してください(拡張子は自由)。

"recordedFormat": "<date:yymmddHHMM>_<title>_<type><channel>.m2ts"

もし、デフォルト([<date:yymmdd-HHMM>][<type><channel>][<tuner>]<title>.m2ts)のまま使いたい場合は、syobocal.rb内のtime, title, channelを取得する箇所を、例えば、

time = ""
title = ""
channel = ""
if /^\[(\d{6})-(\d{4})\]\[(\w+)\]\[[\w-]+\](.+)\.m2ts$/ =~ ARGV[0]
  time = $1 + $2
  title = $4
  channel = $3
end

上記のように変更すれば利用可能です。

使い方

syobyoi.rb <対象ファイル>

と実行することで、対象ファイルをテンプレートに従ってリネームします。

また、標準出力と標準エラーにそれぞれリネーム後のファイルパスを出力します。リネームしなかった場合は、対象ファイルの絶対パスがそのまま出力されます。例えば、シェルスクリプト内で以下のような一連の処理に組み込むことができます。

#!/usr/bin/env bash

eval "$(rbenv init -)"

RENAMED=`/home/henry/SyoboiRenamer/syobocal.rb "$1" 2>/dev/null`
chmod 644 "${RENAMED}" 2>/dev/null

動作例

./syobocal.rb "1503300110_SHIROBAKO_BS181.m2ts"
/Users/henry/work/SyoboiRenamer/SHIROBAKO/[150330][BS-FUJI] SHIROBAKO #24 遠すぎた納品.m2ts
/Users/henry/work/SyoboiRenamer/SHIROBAKO/[150330][BS-FUJI] SHIROBAKO #24 遠すぎた納品.m2ts

Chinachu

Chinachuで使う場合はconfig.json内で、例えば

"recordedCommand": "/path/to/SyoboiRenamer/syoboi.rb"

とします。詳細はConfiguration recordedCommand · kanreisa/Chinachu Wikiを参照してください。

ライセンス

The MIT License (MIT)
Copyright (c) 2015 Tsukasa OMOTO

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%