# HG changeset patch # User Jeff Hammel # Date 1471832830 25200 # Node ID bdb9e39abd84a52bb58da80e5d709d1137384369 # Parent c5895d87c65ef1cf4b19a8a97cde2309c188322c make a proper python script for discovery and extension diff -r c5895d87c65e -r bdb9e39abd84 create_index_ini.sh --- a/create_index_ini.sh Sat Dec 27 10:49:58 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -#!/bin/bash - -# create index.ini file from directory listings -# TODO: -> python - -ls -1 | while read line; do echo "${line} = ${line}"; done > index.ini diff -r c5895d87c65e -r bdb9e39abd84 decoupage/create_index.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/decoupage/create_index.py Sun Aug 21 19:27:10 2016 -0700 @@ -0,0 +1,46 @@ +#!/usr/bin/env python + +""" +create index.ini file from directory listings +""" + +#ls -1 | while read line; do echo "${line} = ${line}"; done > index.ini + +# imports +import argparse +import os +import sys + + +class CreateIndex(object): + """ + decoupage directory index .ini creation + """ + # TODO: maybe this should inherit or otherwise extend + # some more abstract Index class + + def __init__(self, directory): + assert os.path.isdir(directory) + self.directory = directory + + def __str__(self): + lines = ['{item}={item}'.format(item=item) + for item in sorted(os.listdir(self.directory))] + return '\n'.join(lines) + '\n' + + +def main(args=sys.argv[1:]): + """CLI""" + + # parse command line + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('-d', '--directory', + default=os.getcwd(), + help="directory to create index for (current working directory by default)") + options = parser.parse_args(args) + + print CreateIndex(options.directory) + + +if __name__ == '__main__': + main() diff -r c5895d87c65e -r bdb9e39abd84 setup.py --- a/setup.py Sat Dec 27 10:49:58 2014 -0800 +++ b/setup.py Sun Aug 21 19:27:10 2016 -0700 @@ -32,8 +32,8 @@ ], dependency_links=['http://www.dalkescientific.com/Python/PyRSS2Gen-1.0.0.tar.gz#egg=PyRSS2Gen'], entry_points=""" - # -*- Entry points: -*- [console_scripts] + create-decoupage-index = decoupage.create_index:main decoupage-templates = decoupage.templates:main decoupage-formatters = decoupage.formatters:main decoupage = decoupage.cli:main