Mercurial > hg > decoupage
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 |
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 | 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() |