aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2011-12-03 21:43:15 -0600
committerChristopher Allan Webber <cwebber@dustycloud.org>2011-12-03 21:43:15 -0600
commitcfd20ed6a153ce8cf30063880d4149d6827ee265 (patch)
tree5515b690d3517a4c16782c1859540cc0101be539
parentcc4f83faabda361301210a6ba66c3ae5c7305a6a (diff)
parent7d98005a6b2469134adcf84b7a7417a24968bd8d (diff)
downloadmediagoblin-cfd20ed6a153ce8cf30063880d4149d6827ee265.tar.lz
mediagoblin-cfd20ed6a153ce8cf30063880d4149d6827ee265.tar.xz
mediagoblin-cfd20ed6a153ce8cf30063880d4149d6827ee265.zip
Merge remote-tracking branch 'remotes/manolinux/645_gmg_adduser_prompt'
-rw-r--r--mediagoblin/gmg_commands/users.py15
-rw-r--r--mediagoblin/gmg_commands/util.py13
2 files changed, 22 insertions, 6 deletions
diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py
index 4c4b0c1b..b437e839 100644
--- a/mediagoblin/gmg_commands/users.py
+++ b/mediagoblin/gmg_commands/users.py
@@ -18,23 +18,26 @@ from mediagoblin.gmg_commands import util as commands_util
from mediagoblin.auth import lib as auth_lib
from mediagoblin import mg_globals
-
def adduser_parser_setup(subparser):
subparser.add_argument(
- 'username',
+ '--username','-u',
help="Username used to login")
subparser.add_argument(
- 'password',
- help="Your supersecret word to login")
+ '--password','-p',
+ help="Your supersecret word to login, beware of storing it in bash history")
subparser.add_argument(
- 'email',
- help="Email to recieve notifications")
+ '--email','-e',
+ help="Email to receive notifications")
def adduser(args):
#TODO: Lets trust admins this do not validate Emails :)
commands_util.setup_app(args)
+ args.username = commands_util.prompt_if_not_set(args.username, "Username:")
+ args.password = commands_util.prompt_if_not_set(args.password, "Password:",True)
+ args.email = commands_util.prompt_if_not_set(args.email, "Email:")
+
db = mg_globals.database
users_with_username = \
db.User.find({
diff --git a/mediagoblin/gmg_commands/util.py b/mediagoblin/gmg_commands/util.py
index 168a0760..af172105 100644
--- a/mediagoblin/gmg_commands/util.py
+++ b/mediagoblin/gmg_commands/util.py
@@ -16,6 +16,7 @@
from mediagoblin import app
+import getpass
def setup_app(args):
@@ -25,3 +26,15 @@ def setup_app(args):
mgoblin_app = app.MediaGoblinApp(args.conf_file)
return mgoblin_app
+
+def prompt_if_not_set(variable,text,password=False):
+ """
+ Checks if the variable is None and prompt for a value if it is
+ """
+ if (variable==None):
+ if not password:
+ variable=raw_input(text+' ')
+ else:
+ variable=getpass.getpass(text)
+
+ return variable