def main(): from pip_check_reqs import __version__ usage = 'usage: %prog [options] files or directories' parser = optparse.OptionParser(usage) parser.add_option("-f", "--ignore-file", dest="ignore_files", action="append", default=[], help="file paths globs to ignore") parser.add_option("-m", "--ignore-module", dest="ignore_mods", action="append", default=[], help="used module names (globs are ok) to ignore") parser.add_option("-r", "--ignore-requirement", dest="ignore_reqs", action="append", default=[], help="reqs in requirements.txt to ignore") parser.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False, help="be more verbose") parser.add_option("-d", "--debug", dest="debug", action="store_true", default=False, help="be *really* verbose") parser.add_option("--version", dest="version", action="store_true", default=False, help="display version information") (options, args) = parser.parse_args() if options.version: sys.exit(__version__) if not args: parser.error("no source files or directories specified") sys.exit(2) options.ignore_files = common.ignorer(options.ignore_files) options.ignore_mods = common.ignorer(options.ignore_mods) options.ignore_reqs = common.ignorer(options.ignore_reqs) options.paths = args logging.basicConfig(format='%(message)s') if options.debug: log.setLevel(logging.DEBUG) elif options.verbose: log.setLevel(logging.INFO) else: log.setLevel(logging.WARN) log.info('using pip_check_reqs-%s from %s', __version__, __file__) extras = find_extra_reqs(options) if extras: log.warning('Extra requirements:') for name in extras: log.warning('%s in requirements.txt' % name) if extras: sys.exit(1)
def test_find_required_modules(monkeypatch, tmp_path: Path): class options: skip_incompatible = False options.ignore_reqs = common.ignorer(ignore_cfg=['barfoo']) fake_requirements_file = tmp_path / 'requirements.txt' fake_requirements_file.write_text('foobar==1\nbarfoo==2') reqs = common.find_required_modules( options=options, requirements_filename=str(fake_requirements_file), ) assert reqs == set(['foobar'])
def options(files, requirements_file): """ Build options for missing_req :param files: list of files to run on :param requirements_file: requirements file path :return: ops """ p = OptionParser() p.add_option("-f", "--ignore-file", dest="ignore_files", action="append", default=[], help="") p.add_option("-m", "--ignore-module", dest="ignore_mods", action="append", default=[], help="") p.add_option("-r", "--ignore-requirement", dest="ignore_reqs", action="append", default=[], help="") (opts, args) = p.parse_args() opts.requirements_filename = requirements_file opts.verbose = False opts.version = False opts.debug = False opts.paths = files opts.ignore_files = common.ignorer(opts.ignore_files) opts.ignore_mods = common.ignorer(opts.ignore_mods) opts.ignore_reqs = common.ignorer(opts.ignore_reqs) opts.skip_incompatible = False return opts
def test_ignorer(monkeypatch, ignore_cfg, candidate, result): monkeypatch.setattr(os.path, 'relpath', lambda s: s.lstrip('/')) ignorer = common.ignorer(ignore_cfg) assert ignorer(candidate) == result
def main(): from pip_check_reqs import __version__ usage = 'usage: %prog [options] files or directories' parser = optparse.OptionParser(usage) parser.add_option("-f", "--ignore-file", dest="ignore_files", action="append", default=[], help="file paths globs to ignore") parser.add_option("-m", "--ignore-module", dest="ignore_mods", action="append", default=[], help="used module names (globs are ok) to ignore") parser.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False, help="be more verbose") parser.add_option("-d", "--debug", dest="debug", action="store_true", default=False, help="be *really* verbose") parser.add_option("--version", dest="version", action="store_true", default=False, help="display version information") (options, args) = parser.parse_args() if options.version: sys.exit(__version__) if not args: parser.error("no source files or directories specified") sys.exit(2) options.ignore_files = common.ignorer(options.ignore_files) options.ignore_mods = common.ignorer(options.ignore_mods) options.paths = args logging.basicConfig(format='%(message)s') if options.debug: log.setLevel(logging.DEBUG) elif options.verbose: log.setLevel(logging.INFO) else: log.setLevel(logging.WARN) log.info('using pip_check_reqs-%s from %s', __version__, __file__) missing = find_missing_reqs(options) if missing: log.warning('Missing requirements:') for name, uses in missing: for use in uses: for filename, lineno in use.locations: log.warning('%s:%s dist=%s module=%s', os.path.relpath(filename), lineno, name, use.modname) if missing: sys.exit(1)
def main(): from pip_check_reqs import __version__ usage = 'usage: %prog [options] files or directories' parser = optparse.OptionParser(usage) parser.add_option("-f", "--ignore-file", dest="ignore_files", action="append", default=[], help="file paths globs to ignore") parser.add_option("-m", "--ignore-module", dest="ignore_mods", action="append", default=[], help="used module names (globs are ok) to ignore") parser.add_option("-r", "--ignore-requirement", dest="ignore_reqs", action="append", default=[], help="reqs in requirements.txt to ignore") parser.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False, help="be more verbose") parser.add_option("-d", "--debug", dest="debug", action="store_true", default=False, help="be *really* verbose") parser.add_option("--version", dest="version", action="store_true", default=False, help="display version information") (options, args) = parser.parse_args() if options.version: sys.exit(__version__) if not args: parser.error("no source files or directories specified") sys.exit(2) options.ignore_files = common.ignorer(options.ignore_files) options.ignore_mods = common.ignorer(options.ignore_mods) options.ignore_reqs = common.ignorer(options.ignore_reqs) options.paths = args logging.basicConfig(format='%(message)s') if options.debug: log.setLevel(logging.DEBUG) elif options.verbose: log.setLevel(logging.INFO) else: log.setLevel(logging.WARN) log.info('using pip_check_reqs-%s from %s', __version__, __file__) requirements_filename = 'requirements.txt' extras = find_extra_reqs( options=options, requirements_filename=requirements_filename, ) if extras: log.warning('Extra requirements:') for name in extras: message = '{name} in {requirements_filename}'.format( name=name, requirements_filename=requirements_filename, ) log.warning(message) if extras: sys.exit(1)