| OLD | NEW |
| (Empty) |
| 1 | |
| 2 # Copyright (c) 2001-2004 Twisted Matrix Laboratories. | |
| 3 # See LICENSE for details. | |
| 4 | |
| 5 | |
| 6 # System imports | |
| 7 import os | |
| 8 import sys | |
| 9 import time | |
| 10 import imp | |
| 11 | |
| 12 def shortPythonVersion(): | |
| 13 hv = sys.hexversion | |
| 14 major = (hv & 0xff000000L) >> 24 | |
| 15 minor = (hv & 0x00ff0000L) >> 16 | |
| 16 teeny = (hv & 0x0000ff00L) >> 8 | |
| 17 return "%s.%s.%s" % (major,minor,teeny) | |
| 18 | |
| 19 knownPlatforms = { | |
| 20 'nt': 'win32', | |
| 21 'ce': 'win32', | |
| 22 'posix': 'posix', | |
| 23 'java': 'java', | |
| 24 'org.python.modules.os': 'java', | |
| 25 } | |
| 26 | |
| 27 _timeFunctions = { | |
| 28 #'win32': time.clock, | |
| 29 'win32': time.time, | |
| 30 } | |
| 31 | |
| 32 class Platform: | |
| 33 """Gives us information about the platform we're running on""" | |
| 34 | |
| 35 type = knownPlatforms.get(os.name) | |
| 36 seconds = staticmethod(_timeFunctions.get(type, time.time)) | |
| 37 | |
| 38 def __init__(self, name=None): | |
| 39 if name is not None: | |
| 40 self.type = knownPlatforms.get(name) | |
| 41 self.seconds = _timeFunctions.get(self.type, time.time) | |
| 42 | |
| 43 def isKnown(self): | |
| 44 """Do we know about this platform?""" | |
| 45 return self.type != None | |
| 46 | |
| 47 def getType(self): | |
| 48 """Return 'posix', 'win32' or 'java'""" | |
| 49 return self.type | |
| 50 | |
| 51 def isMacOSX(self): | |
| 52 """Return if we are runnng on Mac OS X.""" | |
| 53 return sys.platform == "darwin" | |
| 54 | |
| 55 def isWinNT(self): | |
| 56 """Are we running in Windows NT?""" | |
| 57 if self.getType() == 'win32': | |
| 58 import _winreg | |
| 59 try: | |
| 60 k=_winreg.OpenKeyEx(_winreg.HKEY_LOCAL_MACHINE, | |
| 61 r'Software\Microsoft\Windows NT\CurrentVersi
on') | |
| 62 _winreg.QueryValueEx(k, 'SystemRoot') | |
| 63 return 1 | |
| 64 except WindowsError: | |
| 65 return 0 | |
| 66 # not windows NT | |
| 67 return 0 | |
| 68 | |
| 69 def isWindows(self): | |
| 70 return self.getType() == 'win32' | |
| 71 | |
| 72 def supportsThreads(self): | |
| 73 """Can threads be created? | |
| 74 """ | |
| 75 try: | |
| 76 return imp.find_module('thread')[0] is None | |
| 77 except ImportError: | |
| 78 return False | |
| 79 | |
| 80 platform = Platform() | |
| 81 platformType = platform.getType() | |
| 82 seconds = platform.seconds | |
| OLD | NEW |