import os

def bundle_builder(bundle_name, folder, **kwargs):

    class file_map(object):
        
        def __init__(self, root):
            self.root = os.path.relpath(root, STATIC_ROOT)

        def __call__(self, file_name, **kwargs):
            if file_name not in kwargs.get('exclude', []):
                return "%s/%s" % (self.root, file_name) 

    file_list = [bundle_name,]
    for root, dirs, files in os.walk(os.path.join(STATIC_ROOT, folder)):
       file_list.extend(map(file_map(root), files))

    return tuple(file_list)