NamemaN Anime 플러그인

[이 글은 이전에 쓰던 블로그에서 작성된 이후 새 블로그로 이전된 글입니다.]

Anime Plugin

플러그인이 인식을 잘 하지 못하는 파일이나, 애니메이션 파일이 아닌데도 인식을 하는 경우가 있다면 댓글로 달아주세요.

1.0

nameman_anime

애니메이션 파일의 이름을 바꾸는 전용 플러그인입니다.

패턴 부분에 결과 패턴을 지정할 수 있습니다.

  • ?r은 릴명
  • ?n은 애니메이션 이름
  • ?e는 에피소드 번호(OO화)
  • ?x는 추가 정보(완결이나 에피소드 이름 등)
  • ?c는 코덱 정보를 나타내는 특수기호입니다.

예를 들어
[한샛-Raws] Steins;Gate – 24 END (D-TVS 1280×720 x264 AAC).mp4에서

  • ?r은 [한샛-Raws]
  • ?n은 Steins;Gate
  • ?e는 24
  • ?x는 END
  • ?c는 (D-TVS 1280×720 x264 AAC)

위와 같이 치환됩니다.

패턴 부분에 ‘슈타인즈;게이트 ?e화’등과 같이 넣어서 사용합니다.

‘다음 단어 포함’은 목록 내에 여러 종류의 애니메이션이 있을 경우 사용합니다.
같은 폴더 내에 [Zero-Raws] Boku wa Tomodachi ga Sukunai - 02 (TBS 1280x720 x264 AAC).mkv[한샛-Raws] Shakugan no Shana III - 05 (D-MX 1280x720 x264 AAC).mp4가 동시에 있을 때,
‘?r 나는 친구가 적다 ?e’로 패턴 매칭을 할 경우 각각 [Zero-Raws] 나는 친구가 적다 02.mkv [한샛-Raws] 나는 친구가 적다 05.mp4로 파일 이름이 바뀌게 됩니다.

이런 현상을 막기 위해 다음 단어 포함 항목에 ‘Boku’를 넣게 될 경우, Boku가 포함되어 있는 첫 파일의 이름만이 바뀌게 됩니다.

1.1

  • 15.5화 등 .5화를 인식할 수 있게 변경되었습니다.
  • 라스트 엑자일 -은빛 날개의 팜- 10화 (총집편) 등과 같이 괄호 내에 세 글자 이상이 들어가게 될 경우 인식이 제대로 안 되는 오류가 있었는데, 이 부분이 해결되고 코덱 인식이 괄호 내부 다섯 글자 이상으로 변경되었습니다.
  • 기타 인식률이 향상되었습니다.

1.2

  • 자막 파일 이름 변경시 에피소드 번호 뒤에 s, ns가 붙어 있는 경우도 처리됩니다.
  • 에피소드 번호 대신 OP, ED가 있는 오프닝, 엔딩 파일에 대한 지원이 추가되었습니다.

1.2버전 정규표현식 주석

^ (\[.*\])? [_\s]* (.*?) [_\s]+ (?:[\-#제第E]|Ep)? [_\s]* ((?:\d+(?:\.\d)?|OP|ED)(?=$|[_\s화話s]|ns)) (?:[화話s]|ns)? (.*?(?=$|(?:[_\s]*\([^()]{5,}\)))) [_\s]* (\([^()]{5,}\))? $::xi

^
문자열의 시작

(\[.*\])?
릴명(xxx-Raw) 인식

[_\s]*
공백 제거

(.*?)
애니메이션 이름 인식

[_\s]+
공백 제거

(?:[\-#제第E]|Ep)?
비캡쳐 그룹, 에피소드 번호 앞에 붙어 있는 기타 문자 제거 ( – 01화, #01화, 제01화 등에서 01만 추출)

[_\s]*
공백 제거

((?:\d+(?:\.\d)?|OP|ED)
에피소드 번호 인식

(?=$|[_\s화話s]|ns))
긍정적 예측 그룹 => 코덱 정보가 없는 경우-문자열 끝을 지정하는 $ / 코덱 정보가 있는 경우-공백 또는 ‘화’글자, s, ns로 이어지는지 확인.
다른 글자로 이어지는 경우는 에피소드 번호가 아님. (‘OOO 2기’ 등 애니메이션 이름에 숫자가 들어가는 경우를 배제하기 위한 예측 그룹)

(?:[화話s]|ns)?
비캡처그룹, ‘화’ 글자 및 s, ns 제거 (공백 제거 X)

(.*?(?=$|(?:[_\s]*\([^()]{5,}\))))
기타 정보 인식. (END, 총집편 등)
긍정적 예측 그룹 => 코덱 정보가 없는 경우-문자열 끝을 지정하는 $ / 코덱 정보가 있는 경우-비캡쳐 그룹-공백 이후 코덱 정보(괄호 내부에 다섯 글자 이상 포함)

[_\s]*
공백 제거

(\([^()]{5,}\))?
코덱 정보 인식

$
문자열의 끝

댓글 남기기