enthought / enthought/comtypes
GetModule IndexError list index out of range with gen_dir=None
- Dominant language
- Python
- Stars
- 345
- Forks
- 105
- PR merge metrics
- No merged PRs in 30d
Description
I'm experiencing IndexError when using `GetModule(filename)` together with `gen_dir=None`.
Sample code to reproduce:
```
import comtypes.client
comtypes.client.gen_dir = None
#comtypes.gen.__path__ = [''] # work-around for crash
tlb = comtypes.client.GetModule(tlbfile) # raises IndexError
```
The error seem to be caused by `comtypes.gen.__path__` being empty.
Error traceback:
```
File "MyScript.py", line 80, in ParseTypeLib
tlb = comtypes.client.GetModule(tlbfile)
File "lib\site-packages\comtypes\client\_generate.py", line 110, in GetModule
mod = _CreateWrapper(tlib, pathname)
File "lib\site-packages\comtypes\client\_generate.py", line 172, in _CreateWrapper
generate_module(tlib, ofi, pathname)
File "lib\site-packages\comtypes\tools\tlbparser.py", line 750, in generate_module
gen.generate_code(list(items.values()), filename=pathname)
File "lib\site-packages\comtypes\tools\codegenerator.py", line 241, in generate_code
self.generate_all(items)
File "lib\site-packages\comtypes\tools\codegenerator.py", line 189, in generate_all
self.generate(item)
File "lib\site-packages\comtypes\tools\codegenerator.py", line 185, in generate
mth(item)
File "lib\site-packages\comtypes\tools\codegenerator.py", line 629, in External
comtypes.client.GetModule(ext.tlib)
File "lib\site-packages\comtypes\client\_generate.py", line 110, in GetModule
mod = _CreateWrapper(tlib, pathname)
File "lib\site-packages\comtypes\client\_generate.py", line 177, in _CreateWrapper
mod.__file__ = os.path.join(os.path.abspath(comtypes.gen.__path__[0]),
IndexError: list index out of range
```
### Environment
* 64bit Python 3.6 & 64bit Python 3.7.
* comtypes 1.1.7 (most recent released version)
Contributor guide
Assessment
This issue has not been assessed yet.