|
|
- #!/usr/bin/env python3
- """gallery-html - generate thumbnails and print html for images
-
- Usage:
- gallery-html [--source <pattern>...] [--output <dir>] [--base_url <url>] [-x <n>] [-y <n>] [--json <filename>] [--html <filename>] [--square] [--overwrite]
- gallery-html (-h | --help)
- gallery-html (-v | --version)
-
- Options:
- --source <pattern> Source directory or image file(s) to make gallery from
- --output <dir> Parent directory on local filesystem for thumbnails
- --base_url <url> Base URL for images
- -x <n> Maximum width of thumbnails in pixels
- -y <n> Maximum height of thumbnails in pixels
- --json <filename> Render JSON output to filename
- --html <filename> Render HTML output to filename
- --square Fit thumbnails to squares
- --overwrite Replace existing thumbnail files
- -h --help Show this screen
- -v --version Display version
- """
-
- from docopt import docopt
- from galleryhtml import galleryhtml
- import sys
-
- if __name__ == '__main__':
- args = docopt(__doc__, version='html-gallery 0.8.0')
-
- gh = galleryhtml.GalleryHTML()
-
- # This, friends, is kind of silly:
- if args['--base_url']:
- gh.base_url = args['--base_url']
- if args['--output']:
- gh.output_dir = args['--output']
- if args['-x']:
- gh.x = int(args['-x'])
- if args['-y']:
- gh.y = int(args['-y'])
-
- if args['--overwrite']:
- gh.overwrite = True
-
- if args['--square']:
- gh.square = True
-
- # Actually accumulate the images to be printed, either from a given source
- # or from the current directory.
- if args['--source']:
- gh.add_images_from(args['--source'])
- else:
- gh.add_images_from('.')
-
- # Write JSON data if requested:
- if args['--json']:
- with open(args['--json'], 'w') as f:
- f.write(gh.images_json())
-
- # Write HTML data if requested:
- if args['--html']:
- with open(args['--html'], 'w') as f:
- f.write(gh.images_html())
-
- sys.exit()
|