From 5c0f263403ebd213c325f7d9f41c65f150a8153a Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 14 Jan 2010 16:46:20 -0500 Subject: Replace scripts dependency on win32api module with bundled ctypes. --- scripts/install.py | 9 +++++++-- scripts/template_verifier.py | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/install.py b/scripts/install.py index 78b8880b95..7368af0b37 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -793,8 +793,13 @@ def _getuser(): import getpass return getpass.getuser() except ImportError: - import win32api - return win32api.GetUserName() + import ctypes + MAX_PATH = 260 # according to a recent WinDef.h + name = ctypes.create_unicode_buffer(MAX_PATH) + namelen = ctypes.c_int(len(name)) # len in chars, NOT bytes + if not ctypes.windll.advapi32.GetUserNameW(name, ctypes.byref(namelen)): + raise ctypes.WinError() + return name.value def _default_installable_cache(): """In general, the installable files do not change much, so find a diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py index 8bb5e1d76d..d5fc119270 100755 --- a/scripts/template_verifier.py +++ b/scripts/template_verifier.py @@ -203,8 +203,13 @@ def getuser(): import getpass return getpass.getuser() except ImportError: - import win32api - return win32api.GetUserName() + import ctypes + MAX_PATH = 260 # according to a recent WinDef.h + name = ctypes.create_unicode_buffer(MAX_PATH) + namelen = ctypes.c_int(len(name)) # len in chars, NOT bytes + if not ctypes.windll.advapi32.GetUserNameW(name, ctypes.byref(namelen)): + raise ctypes.WinError() + return name.value def local_master_cache_filename(): """Returns the location of the master template cache (which is in the system tempdir) -- cgit v1.2.3