Opera에서 파일을 받으면 한글이름일 경우 urlencode 된 이름으로 저장된다. decode 하는 간단한 스크립트를 작성했다
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys
import urllib
def printUsing():
"""사용 방법을 출력한다."""
print 'fixname.py [ ...]'
def getUnquoteFileName(name):
try:
return unicode(urllib.unquote(name).decode('utf-8'))
except UnicodeDecodeError:
return unicode(urllib.unquote(name).decode('cp949'))
def main():
for argv in filter(os.path.isfile, sys.argv[1:]):
decoded_argv = getUnquoteFileName(argv)
if argv != decoded_argv:
print '%s -> %s' % (argv, decoded_argv)
os.rename(argv, decoded_argv)
if __name__ == '__main__':
if len(sys.argv) < 2:
printUsing()
else:
main()