#!/usr/bin/python

# underscore_rename_img_files.py
#       --copyright--                   Copyright 2008 (C) Tranzoa, Co. All rights reserved.    Warranty: You're free and on your own here. This code is not necessarily up-to-date or of public quality.
#       --url--                         http://www.tranzoa.net/tzpython/
#       --email--                       pycode is the name to send to. tranzoa.com is the place to send to.
#       --bodstamps--
#       June 1, 2008            bar
#       July 12, 2008           bar     st[a-z]_\d\d\d.jpg (stitch pictures from the A650)
#       August 2, 2009          bar     --undo --reverse
#       --eodstamps--
##      \file
#
#
#       Convert all matching file names to lower case.
#
#

import  glob
import  os
import  re
import  sys

import  TZCommandLineAtFile
import  tzlib


#
#
if __name__ == '__main__' :

    sys.argv.pop(0)
    TZCommandLineAtFile.expand_at_sign_command_line_files(sys.argv)

    res     = []
    res.append("img_*.jpg")
    res.append("imgp*.jpg")
    res.append("st?_*.jpg")
    res.append("img_*.JPG")
    res.append("imgp*.JPG")
    res.append("st?_*.JPG")

    # res.append("mvi_*.avi")
    # res.append("mvi_*.thm")
    # res.append("mvi_*.AVI")
    # res.append("mvi_*.THM")

    add     = "_"
    sub     = ""


    while True :
        oi  = tzlib.array_find(sys.argv, [ "--undo", "-u", "--reverse", "-r", ] )
        if  oi < 0 :    break
        del sys.argv[oi]

        for i in xrange(len(res)) :
            res[i]  = "_" + res[i]
        add         = ""
        sub         = "_"

    if  not sys.argv :
        sys.argv.append(".")

    for dn in sys.argv :

        for m in res :
            mn      = os.path.join(dn, m)
            fnms    = glob.glob(mn)
            for fn in fnms :
                print fn
                ( p, n )    = os.path.split(fn)
                n           = add + n.lower()

                if  len(sub) :
                    n       = re.sub(sub, "", n)

                os.rename(fn, os.path.join(p, n))
            pass
        pass
    pass

#
#
#
# eof

