Mercurial > hg > decoupage
annotate decoupage/index.py @ 107:450aff4c97e3
py35 compat
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Fri, 31 Mar 2017 17:06:59 -0700 |
parents | 4a9c5cf9fec9 |
children |
rev | line source |
---|---|
91
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
3 |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
4 """ |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
5 index.ini |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
6 """ |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
7 |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
8 import argparse |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
9 import os |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
10 import sys |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
11 |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
12 here = os.path.dirname(os.path.realpath(__file__)) |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
13 |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
14 def index(directory): |
107 | 15 """ |
16 returns string representation of directory | |
17 """ | |
18 | |
91
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
19 return '\n'.join(['{name} = {name}'.format(name=name) |
107 | 20 for name in sorted(os.listdir(directory), |
21 key=lambda name: name.lower()) | |
91
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
22 if not name.startswith('.')]) |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
23 |
107 | 24 |
91
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
25 def main(args=sys.argv[1:]): |
107 | 26 """CLI""" |
91
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
27 |
107 | 28 # parse command line |
91
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
29 parser = argparse.ArgumentParser(description=__doc__) |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
30 parser.add_argument('directory', help='directory') |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
31 parser.add_argument('-o', '--output', dest='output', |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
32 type=argparse.FileType('w'), default=sys.stdout, |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
33 help='output') |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
34 options = parser.parse_args(args) |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
35 |
107 | 36 # sanity |
37 if not os.path.isdir(options.directory): | |
38 parser.error("Not a directory: '{}'".format(options.directory)) | |
39 | |
40 # output | |
41 options.output.write(index(options.directory)) | |
42 | |
43 | |
91
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
44 if __name__ == '__main__': |
4a9c5cf9fec9
STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
45 main() |