インポートの処理を以下のパスにファイルが存在すると仮定して説明します。
/Volumes/RAID5HD/Books/漫画/週刊少年ジャンプ/[鳥山明]ドラゴンボール/[一般コミック][鳥山明]ドラゴンボール 1巻.zip
*** 2〜41巻 ***
/Volumes/RAID5HD/Books/漫画/週刊少年ジャンプ/[鳥山明]ドラゴンボール/[一般コミック][鳥山明]ドラゴンボール 42巻 (完).zip
まず、インポートのルートとなるディレクトリを選択します。
今回の例では「Books」フォルダか「漫画」フォルダが適切だと思います。
仮に「Volumes」フォルダをルートフォルダとしてしまうと、「Volumes」「RAID5HD」もカテゴリとして認識されてしまいます。
また、検索するファイル数が増えるためインポート処理に時間がかかることになります。
ここではルートフォルダに「Books」を選択した場合を例として説明します。
A.Booksフォルダ以下にある、以下の条件に該当するファイルを再帰的に検索します。
・拡張子がCBZ/ZIP,CBR/RAR,7Z/CB7,LZH,PDFのいずれかであること。(大文字小文字は区別しません)
・圧縮ファイルの中にJPG,JPEG,PNG,GIFのファイルが1つ以上存在すること
・既にインポート済みでないこと。(同じハッシュ値のファイルがインポートされている場合はスキップします)
B.ルートフォルダから見つかった自炊ファイルが保存されているフォルダまでを、カテゴリ、シリーズとして認識します。
例では「Books」「漫画」「週刊少年ジャンプ」の3フォルダがカテゴリとして登録され、「[鳥山明]ドラゴンボール」がシリーズとして登録されます。
自炊ファイルが保存されていて、さらに子フォルダが存在するようなフォルダは、カテゴリ、シリーズの両方として登録される可能性があります。
C.シリーズとなるフォルダのフォルダ名と、自炊ファイルのファイル名を解析します。
まずカッコで括られている文字や、アンダーバー、ハイフン、スペースなので分割されている文字を分解します。
上記の例では、'一般コミック', '鳥山明', 'ドラゴンボール', '42', '巻', '完'に分割されます。
ComicCafeのDBには予め大量の著者、出版社の情報が保存されています。そのデータを使って分割した文字列が何を意味しているのかを判断します。
'一般コミック' : カッコにくくられている著者でも出版社でも特別な文字でもないので、タグとして認識します。
'鳥山明' : 著者データベースに存在するデータなので、著者として認識します。
'ドラゴンボール' : カッコなどにくくられていない不明な文字列なのでタイトルの一部として認識します。
'42' : 数字なので巻数である可能性が高いと認識します。※1
'巻' : 巻数を表す文字列だと認識します。
'完' : カッコにくくられた特別な文字だと認識し、このシリーズが完結していると判断します。
※例えば「エリア88」など数字を含む漫画の場合は、うまく判断できない可能性があります。
※自炊ファイルに著者名が含まれていなくても、シリーズのディレクトリに著者名が含まれていれば、ブックの著者として登録されます。
※例え著者の名前であっても、ComicCafeのDBに登録されていない場合は、著者として認識されません。その場合は著者の管理画面から著者を登録してください。
※カッコの対応が不正だと、うまく処理されません。例えば {一般コミック] などです。(半角、全角も区別します)
※処理の結果、意図しない文字列がタグとして登録される可能性があります。その場合はタグの管理画面から不要なタグを削除してください。