##// END OF EJS Templates
Fixing bugs with the testing system.
Fixing bugs with the testing system.

File last commit:

r1975:b9f52eba
r1981:d622a992
Show More
platutils_win32.py
56 lines | 1.8 KiB | text/x-python | PythonLexer
# -*- coding: utf-8 -*-
""" Platform specific utility functions, win32 version
Importing this module directly is not portable - rather, import platutils
to use these functions in platform agnostic fashion.
"""
#*****************************************************************************
# Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu>
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#*****************************************************************************
import os
ignore_termtitle = True
try:
import ctypes
SetConsoleTitleW = ctypes.windll.kernel32.SetConsoleTitleW
SetConsoleTitleW.argtypes = [ctypes.c_wchar_p]
def set_term_title(title):
"""Set terminal title using ctypes to access the Win32 APIs."""
SetConsoleTitleW(title)
except ImportError:
def set_term_title(title):
"""Set terminal title using the 'title' command."""
global ignore_termtitle
try:
# Cannot be on network share when issuing system commands
curr = os.getcwd()
os.chdir("C:")
ret = os.system("title " + title)
finally:
os.chdir(curr)
if ret:
# non-zero return code signals error, don't try again
ignore_termtitle = True
def find_cmd(cmd):
"""Find the full path to a .bat or .exe using the win32api module."""
try:
import win32api
except ImportError:
raise ImportError('you need to have pywin32 installed for this to work')
else:
try:
(path, offest) = win32api.SearchPath(os.environ['PATH'],cmd + '.exe')
except:
(path, offset) = win32api.SearchPath(os.environ['PATH'],cmd + '.bat')
return path