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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
15 """
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
16 returns string representation of directory
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
17 """
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
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
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
20 for name in sorted(os.listdir(directory),
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
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
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
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
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
26 """CLI"""
91
4a9c5cf9fec9 STUB: decoupage/templates.py decoupage/index.py
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
27
107
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
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
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
36 # sanity
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
37 if not os.path.isdir(options.directory):
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
38 parser.error("Not a directory: '{}'".format(options.directory))
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
39
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
40 # output
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
41 options.output.write(index(options.directory))
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
42
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 91
diff changeset
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()