app/django/contrib/auth/create_superuser.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
--- a/app/django/contrib/auth/create_superuser.py	Tue Oct 14 12:36:55 2008 +0000
+++ b/app/django/contrib/auth/create_superuser.py	Tue Oct 14 16:00:59 2008 +0000
@@ -1,94 +1,8 @@
 """
-Helper function for creating superusers in the authentication system.
-
-If run from the command line, this module lets you create a superuser
-interactively.
+Create a superuser from the command line. Deprecated; use manage.py
+createsuperuser instead.
 """
 
-from django.core import validators
-from django.contrib.auth.models import User
-import getpass
-import os
-import sys
-import re
-
-RE_VALID_USERNAME = re.compile('\w+$')
-
-def createsuperuser(username=None, email=None, password=None):
-    """
-    Helper function for creating a superuser from the command line. All
-    arguments are optional and will be prompted-for if invalid or not given.
-    """
-    try:
-        import pwd
-    except ImportError:
-        default_username = ''
-    else:
-        # Determine the current system user's username, to use as a default.
-        default_username = pwd.getpwuid(os.getuid())[0].replace(' ', '').lower()
-
-    # Determine whether the default username is taken, so we don't display
-    # it as an option.
-    if default_username:
-        try:
-            User.objects.get(username=default_username)
-        except User.DoesNotExist:
-            pass
-        else:
-            default_username = ''
-
-    try:
-        while 1:
-            if not username:
-                input_msg = 'Username'
-                if default_username:
-                    input_msg += ' (Leave blank to use %r)' % default_username
-                username = raw_input(input_msg + ': ')
-            if default_username and username == '':
-                username = default_username
-            if not RE_VALID_USERNAME.match(username):
-                sys.stderr.write("Error: That username is invalid. Use only letters, digits and underscores.\n")
-                username = None
-                continue
-            try:
-                User.objects.get(username=username)
-            except User.DoesNotExist:
-                break
-            else:
-                sys.stderr.write("Error: That username is already taken.\n")
-                username = None
-        while 1:
-            if not email:
-                email = raw_input('E-mail address: ')
-            try:
-                validators.isValidEmail(email, None)
-            except validators.ValidationError:
-                sys.stderr.write("Error: That e-mail address is invalid.\n")
-                email = None
-            else:
-                break
-        while 1:
-            if not password:
-                password = getpass.getpass()
-                password2 = getpass.getpass('Password (again): ')
-                if password != password2:
-                    sys.stderr.write("Error: Your passwords didn't match.\n")
-                    password = None
-                    continue
-            if password.strip() == '':
-                sys.stderr.write("Error: Blank passwords aren't allowed.\n")
-                password = None
-                continue
-            break
-    except KeyboardInterrupt:
-        sys.stderr.write("\nOperation cancelled.\n")
-        sys.exit(1)
-    u = User.objects.create_user(username, email, password)
-    u.is_staff = True
-    u.is_active = True
-    u.is_superuser = True
-    u.save()
-    print "Superuser created successfully."
-
 if __name__ == "__main__":
-    createsuperuser()
+    from django.core.management import call_command
+    call_command("createsuperuser")