Merge with crew

This commit is contained in:
Matt Mackall 2006-07-24 11:35:04 -05:00
commit 987ff111ff
3 changed files with 18 additions and 2 deletions

View File

@ -197,7 +197,7 @@ class ui(object):
user = os.environ.get("EMAIL")
if user is None:
try:
user = '%s@%s' % (getpass.getuser(), socket.getfqdn())
user = '%s@%s' % (util.getuser(), socket.getfqdn())
except KeyError:
raise util.Abort(_("Please specify a username."))
return user

View File

@ -12,7 +12,7 @@ platform-specific details from the core.
from i18n import gettext as _
from demandload import *
demandload(globals(), "cStringIO errno popen2 re shutil sys tempfile")
demandload(globals(), "cStringIO errno getpass popen2 re shutil sys tempfile")
demandload(globals(), "os threading time")
# used by parsedate
@ -510,6 +510,20 @@ def is_win_9x():
except AttributeError:
return os.name == 'nt' and 'command' in os.environ.get('comspec', '')
getuser_fallback = None
def getuser():
'''return name of current user'''
try:
return getpass.getuser()
except ImportError:
# import of pwd will fail on windows - try fallback
if getuser_fallback:
return getuser_fallback()
# raised if win32api not available
raise Abort(_('user name not available - set USERNAME '
'environment variable'))
# Platform specific variants
if os.name == 'nt':
demandload(globals(), "msvcrt")

View File

@ -297,3 +297,5 @@ class posixfile_nt(object):
win32file.SetEndOfFile(self.handle)
except pywintypes.error, err:
raise WinIOError(err)
getuser_fallback = win32api.GetUserName