synology 토렌트 다운로드에 RSS 다운로드 기능이 있다는것은 알았지만 다운받고 또 일일이 수동으로 분류하는것이 번거러워 잘 사용하지는 않았다.
그런데 파일 자동분류 프로그램을 만들어 다운로드 폴더를 모니터링 하고 있다가 자동으로 해당 폴더로 영상을 옮겨주는 프로그램을 만들면 좋겠다는 생각이 들어 Node JS를 이용해 만들어 보았다.
먼저 RSS 이용방법은 RooT님의 블로그를 보고 참고하면 된다. Synology NAS RSS 사용법
RSS를 이용하여 즐겨보는 예능을 자동으로 특정폴더로 다운받도록 예약을 걸어놓고 자동분류 프로그램을 돌리면 예능들이 자동으로 이름에 맞게 폴더로 이동된다.
Node js를 이용해서 만들다 보니 한글처리에 약간의 문제가 있었는데 파일명을 그대로 사용하지 말고 buffer로 감싸주어 변환시켜주니 한글이 깨지지 않고 그대로 출력되었다.
파일을 분류하는 방법은 영상에 있는 프로그램 제목과 폴더명을 맞추도록 했는데 파일명에서 . 과 공백으로 파일명을 잘라 일일이 비교를 하는 방법을 사용하였다.
예를들어 “[tvN] 코미디 빅리그.E170.170521.720p-NEXT.mp4” 이라는 파일이 있을때 이를 split 하면 아래와 같이 분류가 되는데1
2
3
4
5
6
7[tvN]
코미디
빅리그
E170
170521
720p-NEXT
mp4
node js의 fs 모듈을 이용해 특정 폴더를 모니터링하는 watcher를 만들고 새로운 파일이 감지되면 예능 폴더에 있는 폴더 리스트를 array로 가져와 위 파일명과 폴더명을 비교하여 일치하는 것이 있으면 해당 폴더로 이동시키도록 해보니 큰 문제 없이 정상 동작하였다.
그리고 damon 으로 뛰우기 위해 forever를 이용하여 기동하였다.