-# DB keys
-timestamp_key = "timestamp"
-filename_key = "filename"
-old_filename_key = "old_filename"
-
-
-import random
-import anydbm, shelve
-from time import time
-from fcntl import flock, LOCK_EX, LOCK_UN, LOCK_NB
-
-# Import pickle and all anydbm/shelve internal machinery, so that
-# when ReadyExec forks they will be ready.
-# Also create the database if it is not exists yet.
-
-try:
- global_db = shelve.open(global_db_name, flag='c')
-except anydbm.error, msg:
- if str(msg) == "db type could not be determined":
- os.remove(global_db_name)
- global_db = shelve.open(global_db_name, flag='c')
-
-# Remove old filenames
-old_time = time() - min_delay
-
-to_delete = [timestamp_key]
-for key in global_db.keys():
- if key.startswith('/') and global_db[key] < old_time:
- to_delete.append(key)
-
-for key in to_delete:
- try:
- del global_db[key]
- except KeyError:
- pass
-
-global_db.close() # Close DB in the parent process
-
-
-images = []
-
-for image_dir in image_dirs:
- # List images in all subdirectories
- for dirpath, dirs, files in os.walk(image_dir):
- images.extend([os.path.join(dirpath, file) for file in files])
-
-if not images:
- error("No images found. Abort.")
-
-
-def run():
- if len(sys.argv) not in (1, 2):
- usage()
-
- force = False
- if len(sys.argv) == 2:
- if sys.argv[1] == "force":
- force = True
- else:
- usage()