def _store_python_version(self, python_version): """Configure the python version.""" self.output_options.python_version = utils.split_version( python_version) if len(self.output_options.python_version) != 2: self.error("--python_version must be <major>.<minor>: %r" % python_version) # Check that we have a version supported by pytype. utils.validate_version(self.output_options.python_version)
def create_importlab_environment(conf, typeshed): """Create an importlab environment from the python version and path.""" python_version = utils.split_version(conf.python_version) path = fs.Path() for p in conf.pythonpath: path.add_path(p, 'os') for p in typeshed.get_pytd_paths(python_version): path.add_fs(PytdFileSystem(fs.OSFileSystem(p))) for p in typeshed.get_typeshed_paths(python_version): path.add_path(p, 'pyi') return environment.Environment(path, python_version)
def __setattr__(self, name, value): if name == "python_version": if isinstance(value, str): value = utils.split_version(value) if self._adjust_python_exe: super(Options, self).__setattr__("python_exe", utils.get_python_exe(value)) else: # Python exe adjustment should be unblocked for next time. self._adjust_python_exe = True super(Options, self).__setattr__(name, value)
def _store_python_version(self, python_version): """Configure the python version.""" if python_version: if isinstance(python_version, str): self.output_options.python_version = utils.split_version(python_version) else: self.output_options.python_version = python_version else: self.output_options.python_version = sys.version_info[:2] if len(self.output_options.python_version) != 2: self.error( "--python_version must be <major>.<minor>: %r" % python_version) # Check that we have a version supported by pytype. utils.validate_version(self.output_options.python_version)
def main(): argument_parser = make_parser() opts = argument_parser.parse_args() python_version = utils.split_version(opts.python_version) try: utils.validate_version(python_version) except utils.UsageError as e: sys.stderr.write("Usage error: %s\n" % utils.message(e)) sys.exit(1) with open(opts.input) as fi: sourcecode = fi.read() try: parsed = parser.parse_string(sourcecode, filename=opts.input, python_version=python_version) except parser.ParseError as e: sys.stderr.write(str(e)) sys.exit(1) if opts.optimize: parsed = optimize.Optimize(parsed, builtins.GetBuiltinsPyTD(python_version), lossy=opts.lossy, use_abcs=opts.use_abcs, max_union=opts.max_union, remove_mutable=opts.remove_mutable, can_do_lookup=False) if opts.output is not None: out_text = pytd_utils.Print(parsed, opts.multiline_args) if opts.output == "-": sys.stdout.write(out_text) else: with open(opts.output, "w") as out: out.write(out_text)
def testSplitVersion(self): self.assertEqual(utils.split_version("2.7"), (2, 7))