[issue34816] ctypes + hasattr

2018-09-27 Thread Lars Friedrich
Lars Friedrich added the comment: Thank you for your reply. I am not sure if I understood correctly: Do you suggest to modify ctypes.__init__.py so that the __getattr__ method of LibraryLoader catches the OSError and raises an AttributeError instead, as in your example? --

[issue34816] ctypes + hasattr

2018-09-27 Thread Eryk Sun
Eryk Sun added the comment: ctypes.windll is an instance of ctypes.LibraryLoader, which has a __getattr__ method that calls ctypes.WinDLL(name) and caches the result as an instance attribute. I suppose with chained exceptions it's reasonable to handle OSError in __getattr__ by raising

[issue34816] ctypes + hasattr

2018-09-27 Thread Lars Friedrich
New submission from Lars Friedrich : The following creates an OSError: import ctypes hasattr(ctypes.windll, 'test') The expected behavior would be to return "False" -- components: ctypes messages: 326528 nosy: lfriedri priority: normal severity: normal status: open title: ctypes +