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