annotate decoupage/create_index.py @ 107:450aff4c97e3

py35 compat
author Jeff Hammel <k0scist@gmail.com>
date Fri, 31 Mar 2017 17:06:59 -0700
parents bdb9e39abd84
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
93
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
1 #!/usr/bin/env python
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
2
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
3 """
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
4 create index.ini file from directory listings
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
5 """
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
6
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
7 #ls -1 | while read line; do echo "${line} = ${line}"; done > index.ini
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
8
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
9 # imports
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
10 import argparse
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
11 import os
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
12 import sys
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
13
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
14
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
15 class CreateIndex(object):
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
16 """
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
17 decoupage directory index .ini creation
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
18 """
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
19 # TODO: maybe this should inherit or otherwise extend
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
20 # some more abstract Index class
90
55719bcdc2c2 add stub shell script for index.ini creatoin
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
21
93
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
22 def __init__(self, directory):
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
23 assert os.path.isdir(directory)
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
24 self.directory = directory
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
25
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
26 def __str__(self):
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
27 lines = ['{item}={item}'.format(item=item)
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
28 for item in sorted(os.listdir(self.directory))]
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
29 return '\n'.join(lines) + '\n'
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
30
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
31
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
32 def main(args=sys.argv[1:]):
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
33 """CLI"""
90
55719bcdc2c2 add stub shell script for index.ini creatoin
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
34
93
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
35 # parse command line
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
36 parser = argparse.ArgumentParser(description=__doc__)
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
37 parser.add_argument('-d', '--directory',
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
38 default=os.getcwd(),
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
39 help="directory to create index for (current working directory by default)")
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
40 options = parser.parse_args(args)
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
41
107
450aff4c97e3 py35 compat
Jeff Hammel <k0scist@gmail.com>
parents: 93
diff changeset
42 print(CreateIndex(options.directory))
93
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
43
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
44
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
45 if __name__ == '__main__':
bdb9e39abd84 make a proper python script for discovery and extension
Jeff Hammel <k0scist@gmail.com>
parents: 90
diff changeset
46 main()