引数のデフォルト値の利用

引数のデフォルト値はまあわりと使うので、用意されてるのはありがたい。

#!/usr/bin/env python

import os
import os.path
import sys
import urlparse
import urllib
import datetime


def get_prefix_uniq_name (dir, f_name, char_code = 65):
    if not os.path.exists(dir + "/" + f_name):
        return ""
    else:
        for _cnt in range(char_code, 123):
           uniq_f_name = chr(_cnt) + f_name
           if not os.path.exists(dir + "/" + uniq_f_name):
               return chr(_cnt)


if len(sys.argv) == 1:
    print "select url"
    sys.exit()

dir = os.getenv('HOME') + "/Documents/" + datetime.date.today().strftime('%Y%m%d')
if not os.path.exists(dir):
    os.mkdir(dir)
os.chdir(dir)

url = sys.argv[1]

file_name = urlparse.urlparse(url)[2].split('/')[-1]

base = '/'.join(url.split('/')[0:-1])

base_name = file_name.split('.')[0][0:-2]
max = file_name.split('.')[0][-2:]

prefix = get_prefix_uniq_name(os.getcwd(), base_name + "01.jpg")
for i in range(1, int(max) + 1):
    file_name = base_name + str(i).zfill(2) + ".jpg"
    get_url = base + "/" + file_name
    urllib.urlretrieve(get_url, prefix + file_name)

取得するファイル名が重複してたら上書いてたのを、ユニークになるようにプリフィックスを付けるようにしてみた。