src/eric7/Utilities/ModuleParser.py

branch
server
changeset 10596
ea35c92a3c7c
parent 10589
75b656c80a40
child 10704
27d21e5163b8
equal deleted inserted replaced
10594:6156d9675f62 10596:ea35c92a3c7c
1677 @param ignoreBuiltinModules flag indicating to ignore the builtin modules 1677 @param ignoreBuiltinModules flag indicating to ignore the builtin modules
1678 @type bool 1678 @type bool
1679 @return reference to a Module object containing the parsed 1679 @return reference to a Module object containing the parsed
1680 module information 1680 module information
1681 @rtype Module 1681 @rtype Module
1682 @exception ImportError raised to indicate an unsupported source code type
1682 """ 1683 """
1683 global _modules 1684 global _modules
1684 1685
1685 _extensions = ( 1686 _extensions = (
1686 [".py", ".pyw", ".pyi", ".ptl", ".rb"] if extensions is None else extensions[:] 1687 [".py", ".pyw", ".pyi", ".ptl", ".rb"] if extensions is None else extensions[:]
1687 ) 1688 )
1688 modname = module 1689 modname = module
1689 isRemoteFileName = FileSystemUtilities.isRemoteFileName(module) 1690 isRemoteFileName = FileSystemUtilities.isRemoteFileName(module)
1690 1691
1691 if isRemoteFileName: 1692 if isRemoteFileName:
1692 fsInterface = ericApp().getObject("EricServer").getServiceInterface("FileSystem") 1693 fsInterface = (
1694 ericApp().getObject("EricServer").getServiceInterface("FileSystem")
1695 )
1693 module, extension = fsInterface.splitext(fsInterface.basename(module)) 1696 module, extension = fsInterface.splitext(fsInterface.basename(module))
1694 else: 1697 else:
1695 with contextlib.suppress(ValueError): 1698 with contextlib.suppress(ValueError):
1696 _extensions.remove(".py") 1699 _extensions.remove(".py")
1697 1700
1738 1741
1739 if extension == ".ptl": 1742 if extension == ".ptl":
1740 moduleType = PTL_SOURCE 1743 moduleType = PTL_SOURCE
1741 elif extension == ".rb": 1744 elif extension == ".rb":
1742 moduleType = RB_SOURCE 1745 moduleType = RB_SOURCE
1743 elif extension in _extensions: 1746 elif extension in _extensions: # noqa: Y106
1744 moduleType = PY_SOURCE 1747 moduleType = PY_SOURCE
1745 else: 1748 else:
1746 raise ImportError 1749 raise ImportError
1747 1750
1748 file = modname 1751 file = modname
1775 _modules[modname] = Module(modname, None, None) 1778 _modules[modname] = Module(modname, None, None)
1776 return _modules[modname] 1779 return _modules[modname]
1777 1780
1778 mod = Module(modname, file, moduleType) 1781 mod = Module(modname, file, moduleType)
1779 with contextlib.suppress(UnicodeError, OSError): 1782 with contextlib.suppress(UnicodeError, OSError):
1780 if isRemoteFileName: 1783 src = (
1781 src = ( 1784 ericApp()
1782 ericApp() 1785 .getObject("EricServer")
1783 .getObject("EricServer") 1786 .getServiceInterface("FileSystem")
1784 .getServiceInterface("FileSystem") 1787 .readEncodedFile(file)[0]
1785 .readEncodedFile(file)[0] 1788 if isRemoteFileName
1786 ) 1789 else Utilities.readEncodedFile(file)[0]
1787 else: 1790 )
1788 src = Utilities.readEncodedFile(file)[0]
1789 mod.scan(src) 1791 mod.scan(src)
1790 if caching: 1792 if caching:
1791 _modules[modname] = mod 1793 _modules[modname] = mod
1792 return mod 1794 return mod
1793 1795

eric ide

mercurial