Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #7077 and #7431 -- Use getpass.getuser instead of pwd.getpwuid …

…to determine the current system user's username in the createsuperuser management command to enable the feature on Windows. getpass.getuser automatically falls back to the previous method.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14607 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 9b6535b894076be8358b0f0bfdea77e4a6e62a22 1 parent 0aeb6c9
@jezdez jezdez authored
Showing with 8 additions and 10 deletions.
  1. +8 −10 django/contrib/auth/management/commands/createsuperuser.py
View
18 django/contrib/auth/management/commands/createsuperuser.py
@@ -3,7 +3,6 @@
"""
import getpass
-import os
import re
import sys
from optparse import make_option
@@ -30,10 +29,10 @@ class Command(BaseCommand):
make_option('--email', dest='email', default=None,
help='Specifies the email address for the superuser.'),
make_option('--noinput', action='store_false', dest='interactive', default=True,
- help='Tells Django to NOT prompt the user for input of any kind. ' \
- 'You must use --username and --email with --noinput, and ' \
- 'superusers created with --noinput will not be able to log in ' \
- 'until they\'re given a valid password.'),
+ help=('Tells Django to NOT prompt the user for input of any kind. '
+ 'You must use --username and --email with --noinput, and '
+ 'superusers created with --noinput will not be able to log '
+ 'in until they\'re given a valid password.')),
)
help = 'Used to create a superuser.'
@@ -58,12 +57,11 @@ def handle(self, *args, **options):
# Try to determine the current system user's username to use as a default.
try:
- import pwd
- default_username = pwd.getpwuid(os.getuid())[0].replace(' ', '').lower()
+ default_username = getpass.getuser().replace(' ', '').lower()
except (ImportError, KeyError):
- # KeyError will be raised by getpwuid() if there is no
- # corresponding entry in the /etc/passwd file (a very restricted
- # chroot environment, for example).
+ # KeyError will be raised by os.getpwuid() (called by getuser())
+ # if there is no corresponding entry in the /etc/passwd file
+ # (a very restricted chroot environment, for example).
default_username = ''
# Determine whether the default username is taken, so we don't display
Please sign in to comment.
Something went wrong with that request. Please try again.