Example #1
0
 def find_available_vc_vers(self):
     """
     Find all available Microsoft Visual C++ versions.
     """
     vckeys = (self.ri.vc, self.ri.vc_for_python)
     vc_vers = []
     for hkey in self.ri.HKEYS:
         for key in vckeys:
             try:
                 bkey = winreg.OpenKey(hkey, key, 0, winreg.KEY_READ)
             except (OSError, IOError):
                 continue
             subkeys, values, _ = winreg.QueryInfoKey(bkey)
             for i in range(values):
                 try:
                     ver = float(winreg.EnumValue(bkey, i)[0])
                     if ver not in vc_vers:
                         vc_vers.append(ver)
                 except ValueError:
                     pass
             for i in range(subkeys):
                 try:
                     ver = float(winreg.EnumKey(bkey, i))
                     if ver not in vc_vers:
                         vc_vers.append(ver)
                 except ValueError:
                     pass
     return sorted(vc_vers)
Example #2
0
File: win.py Project: jwg4/dateutil
 def list():
     """Return a list of all time zones known to the system."""
     with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle:
         with winreg.OpenKey(handle, TZKEYNAME) as tzkey:
             result = [winreg.EnumKey(tzkey, i)
                       for i in range(winreg.QueryInfoKey(tzkey)[0])]
     return result
Example #3
0
 def enum_keys(handle):
     for i in range(2**10):
         try:
             yield winreg.EnumKey(handle, i)
         except WindowsError as e:
             if e.winerror != 259:
                 raise
             return
Example #4
0
def enum_keys(key):
    at = 0
    while True:
        try:
            yield winreg.EnumKey(key, at)
        except OSError:
            break
        at += 1
Example #5
0
 def list():
     """Return a list of all time zones known to the system."""
     handle = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
     tzkey = winreg.OpenKey(handle, TZKEYNAME)
     result = [winreg.EnumKey(tzkey, i)
               for i in range(winreg.QueryInfoKey(tzkey)[0])]
     tzkey.Close()
     handle.Close()
     return result
Example #6
0
def get_acroversion():
    " Return version of Adobe Acrobat executable or None"
    from six.moves import winreg
    adobesoft = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r'Software\Adobe')
    for index in range(winreg.QueryInfoKey(adobesoft)[0]):
        key = winreg.EnumKey(adobesoft, index)
        if "acrobat" in key.lower():
            acrokey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,
                                     'Software\\Adobe\\%s' % key)
            for index in range(winreg.QueryInfoKey(acrokey)[0]):
                numver = winreg.EnumKey(acrokey, index)
                try:
                    res = winreg.QueryValue(
                        winreg.HKEY_LOCAL_MACHINE,
                        'Software\\Adobe\\%s\\%s\\InstallPath' % (key, numver))
                    return res
                except Exception:
                    pass
    return None