DONE‎ > ‎

자동 압축풀기


brag에서 받는 파일은 대부분 분할압축 파일인데 이걸 수동으로 풀어주는 것도 꽤 귀찮은 일이라 작성하게 됐다.
http://ljh131.tistory.com/111를 보고 시작하였으나 거의 다 바뀌어 흔적은 별로 남지 않았다.

주기적으로 압축파일이 생성되는 디렉토리를 검사해 압축파일이 다 받아졌으면 압축을 해제한다. 크게
  1. 파일명 확보
  2. 완결성 검사
  3. 압축 해제
로 처리된다.

원래는 glob 모듈만을 사용해 파일 목록을 수집했으나 파일명 자체에 glob에 쓰이는 [ ] 등 특수문자가 있으면 처리가 안 되어 re 모듈을 통해 직접 파일명을 검사하도록 한 단계를 풀어냈다.

완결성 검사 시에 .sfv 파일이 같이 있으면 cfv나 ckcfv를 통해 이 파일의 정보에 의존해도 되겠으나, 흐름상 전혀 다른 방향의 작업이라 구현하지 않았다.

압축 해제 후 원본 파일은 삭제하거나, 안전하게 하자면 임시 경로로 옮긴 뒤 삭제는 tmpwatch 등이 처리하도록 하는 것도 좋겠다.

os.system()으로 명령을 호출할 때 파일명에 따옴표가 있으면 에러가 생겨서 이를 pipes.quote() 로 미리 처리하게 했다. 

ċ
autounrar.py
(3k)
Jeong-Hee Kang,
2012. 10. 28. 오후 1:33
Comments