diff options
author | gbrandl <gbrandl@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2007-05-25 16:24:41 +0000 |
---|---|---|
committer | gbrandl <gbrandl@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2007-05-25 16:24:41 +0000 |
commit | bc8fcf3a00497265d55719c0031aa2143b26204c (patch) | |
tree | 239d33c43844ad81d81adf04c469eb6d67a4b25d /sandbox/py-rest-doc/sphinx-web.py | |
parent | 225d29cd3511b3bf0992f7b3c238f81d33f5bdba (diff) | |
download | docutils-bc8fcf3a00497265d55719c0031aa2143b26204c.tar.gz |
Fix spelling error and add check for superuser at app startup.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@5151 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'sandbox/py-rest-doc/sphinx-web.py')
-rw-r--r-- | sandbox/py-rest-doc/sphinx-web.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sandbox/py-rest-doc/sphinx-web.py b/sandbox/py-rest-doc/sphinx-web.py index 64810ed1e..46c8203e3 100644 --- a/sandbox/py-rest-doc/sphinx-web.py +++ b/sandbox/py-rest-doc/sphinx-web.py @@ -19,7 +19,7 @@ def main(argv): print 'usage: %s [-d] <doc_root>' % argv[0] print ' -d: use werkzeug debugger if installed' return 2 - app = make_app({'data_root_path': args[0]}) + orig_app, app = make_app({'data_root_path': args[0]}) if '-d' in opts: try: @@ -29,6 +29,22 @@ def main(argv): else: app = DebuggedApplication(app, True) + # check if there is a superuser + if not orig_app.userdb.users: + print 'Warning: you have no user database or no master "admin" account.' + create = raw_input('Do you want to create an admin account now? [y/n] ') + if not create or create.lower().startswith('y'): + import getpass + print 'Creating "admin" user.' + pw1 = getpass.getpass('Enter password: ') + pw2 = getpass.getpass('Enter password again: ') + if pw1 != pw2: + print 'Error: Passwords don\'t match.' + sys.exit(1) + orig_app.userdb.set_password('admin', pw1) + orig_app.userdb.privileges['admin'] = set(['master']) + orig_app.userdb.save() + srv = make_server('localhost', 3000, app) try: print 'Running on http://%s:%d/' % srv.socket.getsockname() |