trunk/basic_image_finder.py
author Sam Hart <criswellious@gmail.com>
Sun Apr 27 21:16:21 2008 -0400 (4 years ago)
branchpersonal-scripts
changeset 47 852be106a4bd
child 4819d9647d0639
permissions -rwxr-xr-x
Add basic image finder
criswellious@47
     1
#! /usr/bin/env python
criswellious@47
     2
criswellious@47
     3
pattern_list = ['*.jpg',
criswellious@47
     4
                '*.jpeg',
criswellious@47
     5
                '*.gif',
criswellious@47
     6
                '*.png',
criswellious@47
     7
                '*.tiff',
criswellious@47
     8
               ]
criswellious@47
     9
criswellious@47
    10
class Bunch:
criswellious@47
    11
    def __init__(self, **kwds): self.__dict__.update(kwds)
criswellious@47
    12
arg = Bunch(recurse=True, pattern_list=pattern_list, return_folders=0, results={})
criswellious@47
    13
criswellious@47
    14
def visit(arg, dirname, files):
criswellious@47
    15
    # Append to arg.results all relevant files
criswellious@47
    16
    for name in files:
criswellious@47
    17
        fullname = os.path.normpath(os.path.join(dirname, name))
criswellious@47
    18
        fullname = fullname.rstrip()
criswellious@47
    19
        if arg.return_folders or os.path.isfile(fullname):
criswellious@47
    20
            normalized_filename = name.lower()
criswellious@47
    21
            for pattern in arg.pattern_list:
criswellious@47
    22
                if fnmatch.fnmatch(normalized_filename, pattern):
criswellious@47
    23
                    arg.results[name] = fullname
criswellious@47
    24
                    break
criswellious@47
    25
    # Block recursion if disallowed
criswellious@47
    26
    if not arg.recurse: files[:]=[]
criswellious@47
    27
criswellious@47
    28
root = "/home/sam/images"
criswellious@47
    29
criswellious@47
    30
os.path.walk(root, visit, arg)
criswellious@47
    31
print arg.results