def _load_typeshed_builtin(self, subdir, module_name): """Load a pyi from typeshed.""" mod = typeshed.parse_type_definition( subdir, module_name, self.python_version) if mod: return self.load_file(filename=self.PREFIX + module_name, module_name=module_name, ast=mod) return None
def _load_typeshed_builtin(self, subdir, module_name): """Load a pyi from typeshed.""" loaded = typeshed.parse_type_definition( subdir, module_name, parser.PyiOptions.from_toplevel_options(self.options)) if loaded: filename, mod_ast = loaded return self.load_file(filename=self.PREFIX + filename, module_name=module_name, mod_ast=mod_ast) return None
def _load_builtin(self, subdir, module_name): """Load a pytd that ships with pytype or typeshed.""" version = self.options.python_version # Try our own type definitions first, but then fall back to typeshed. mod = (pytd_utils.ParsePredefinedPyTD(subdir, module_name, version) or typeshed.parse_type_definition(subdir, module_name, version)) if mod: log.debug("Found %s entry for %r", subdir, module_name) return self._load_file(filename=self.PREFIX + module_name, module_name=module_name, ast=mod) return None
def _load_builtin(self, subdir, module_name): """Load a pytd/pyi that ships with pytype or typeshed.""" version = self.options.python_version # Try our own type definitions first. mod = builtins.ParsePredefinedPyTD(subdir, module_name, version) if not mod and self.options.typeshed: # Fall back to typeshed. mod = typeshed.parse_type_definition(subdir, module_name, version) if mod: log.debug("Found %s entry for %r", subdir, module_name) return self._load_file(filename=self.PREFIX + module_name, module_name=module_name, ast=mod) return None
def test_parse_type_definition(self): ast = typeshed.parse_type_definition("stdlib", "_random", (2, 7)) self.assertIn("_random.Random", [cls.name for cls in ast.classes])
def test_parse_type_definition(self): filename, ast = typeshed.parse_type_definition("stdlib", "_random", (2, 7)) self.assertEqual(os.path.basename(filename), "_random.pyi") self.assertIn("_random.Random", [cls.name for cls in ast.classes])