#-*-coding:UTF-8-*-
import sys
reload(sys)
import os
import os.path
import tinify

def main():
    tinify.key = "dS0hSsPFkIFCGV5Nn0lFXcxR1RqHoP0G"
    global globalCurpath
    globalCurpath = os.path.abspath(os.curdir)
    compressPath = ""
    paramCount = len(sys.argv)
    if paramCount >= 2:
        compressPath = sys.argv[1]

    print compressPath
    compress(globalCurpath, compressPath)


def compress(path,fileName):
    rootPath = os.path.join(path,fileName)

    if (os.path.isdir(rootPath)):
        files = os.listdir(rootPath)
        for f in files:
            # 排除隐藏文件夹
            if f[0] == '.' or f.endswith(".txt"):
                print "hidden file or dir:" + f
            else:
                compress(rootPath, f)
    else:
        if fileName == '.' or fileName.endswith(".txt"):
            print "hidden file or dir:" + fileName
        elif fileName.endswith(".png") or fileName.endswith(".jpg"):
            compressImg(rootPath, rootPath)

def compressImg(inputFile, outputFile):
    source = tinify.from_file(inputFile)
    source.to_file(outputFile)

def findParam(param, defValue):
    result = None
    paramCount = len(sys.argv)
    for i in xrange(0, paramCount):
        if (sys.argv[i] == param):
            result = param
            return result
    if i == paramCount - 1:
        result = defValue
    return result

if __name__ == '__main__':
    main()