Ticket #5897: runtime.py.diff

File runtime.py.diff, 1.5 KB (added by meissenPlate, 2 years ago)

Patch to make twisted.python.runtime usable with BOTH 2x and 3x.

  • .py

    old new  
    1010import imp 
    1111 
    1212 
    13  
    1413def shortPythonVersion(): 
    1514    """ 
    1615    Returns the Python version as a dot-separated string. 
     
    7372    def isWinNT(self): 
    7473        """Are we running in Windows NT?""" 
    7574        if self.getType() == 'win32': 
    76             import _winreg 
     75            # Python 3.x changed this name. 
     76            winreg = None 
     77            if sys.version_info[0] == 2: 
     78                winreg = __import__('_winreg') 
     79            else: 
     80                winreg = __import__('winreg') 
    7781            try: 
    78                 k = _winreg.OpenKeyEx( 
    79                         _winreg.HKEY_LOCAL_MACHINE, 
     82                k = winreg.OpenKeyEx( 
     83                        winreg.HKEY_LOCAL_MACHINE, 
    8084                        r'Software\Microsoft\Windows NT\CurrentVersion') 
    81                 _winreg.QueryValueEx(k, 'SystemRoot') 
     85                winreg.QueryValueEx(k, 'SystemRoot') 
    8286                return 1 
    8387            except WindowsError: 
    8488                return 0 
     
    117121        """Can threads be created? 
    118122        """ 
    119123        try: 
    120             return imp.find_module('thread')[0] is None 
     124            # Python 3.x changed this name. 
     125            if sys.version_info[0] == 2: 
     126                return imp.find_module('thread')[0] is None 
     127            else: 
     128                return imp.find_module('_thread')[0] is None 
    121129        except ImportError: 
    122130            return False 
    123131