Mercurial > hg > bitsyblog
annotate bitsyblog/cli.py @ 102:bc08a00a7d93
make user creation work again, wip
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 23 Feb 2014 16:50:06 -0800 |
parents | dd4abe56edf7 |
children |
rev | line source |
---|---|
94 | 1 #!/usr/bin/env python |
2 | |
3 """ | |
102
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
4 bitsyblog command line interface for user creation |
94 | 5 """ |
95
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
6 |
102
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
7 import argparse |
95
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
8 import sys |
102
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
9 from getpass import getpass |
95
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
10 from user import FilespaceUsers |
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
11 |
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
12 def main(args=sys.argv[1:]): |
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
13 |
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
14 # command line parser |
102
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
15 parser = argparse.ArgumentParser(description=__doc__) |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
16 parser.add_argument('directory', help="base bitsyblog user directory") |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
17 parser.add_argument('user', help="user name") |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
18 parser.add_argument('-p', '--password', dest='password', |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
19 help="password for user") |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
20 options = parser.parse_args(args) |
95
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
21 |
102
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
22 # read password if not given |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
23 if not options.password: |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
24 password = getpass("Enter password for {} : ".format(options.user)) |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
25 if password: |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
26 options.password = password |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
27 else: |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
28 parser.error("No password given") |
95
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
29 |
102
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
30 # create userspace |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
31 users = FilespaceUsers(options.directory) |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
32 |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
33 # create a user |
bc08a00a7d93
make user creation work again, wip
Jeff Hammel <k0scist@gmail.com>
parents:
95
diff
changeset
|
34 # TODO: password hashing |
95
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
35 |
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
36 if __name__ == '__main__': |
dd4abe56edf7
more stubbing; lord how crufty
Jeff Hammel <jhammel@mozilla.com>
parents:
94
diff
changeset
|
37 main() |