コード例 #1
0
ファイル: main.py プロジェクト: elbaschid/pipev
def preprocess(content, options):
    """Split, filter, and join lines, and return a line iterator
    :param content: the content of the requirements file
    :param options: cli options
    """
    lines_enum = enumerate(content.splitlines(), start=1)
    lines_enum = join_lines(lines_enum)
    lines_enum = ignore_comments(lines_enum)
    lines_enum = skip_regex(lines_enum, options)
    return lines_enum
コード例 #2
0
ファイル: main.py プロジェクト: elbaschid/pipev
def parse_requirements(filename, finder=None, comes_from=None, options=None,
                       session=None, constraint=False, wheel_cache=None):
    """Parse a requirements file and yield InstallRequirement instances.
    :param filename:    Path or url of requirements file.
    :param finder:      Instance of pip.index.PackageFinder.
    :param comes_from:  Origin description of requirements.
    :param options:     Global options.
    :param session:     Instance of pip.download.PipSession.
    :param constraint:  If true, parsing a constraint file rather than
        requirements file.
    :param wheel_cache: Instance of pip.wheel.WheelCache
    """
    if session is None:
        raise TypeError(
            "parse_requirements() missing 1 required keyword argument: "
            "'session'"
        )

    _, content = get_file_content(
        filename, comes_from=comes_from, session=session
    )

    lines = content.splitlines()
    lines = ignore_comments(lines)
    lines = join_lines(lines)
    lines = skip_regex(lines, options)
    lines = expand_env_variables(lines)

    kwargs = {}
    # The constraint keyword was only added in 7.1+
    if tuple(pip.__version__.split('.')[:2]) > ('7', '0'):
        kwargs['constraint'] = constraint

    for line_number, line in enumerate(lines, 1):
        req_iter = process_line(line, filename, line_number, finder,
                                comes_from, options, session, wheel_cache,
                                **kwargs)
        for req in req_iter:
            yield req
コード例 #3
0
 def test_skip_regex_no_skip_option(self):
     options = stub(skip_requirements_regex=None)
     line = '--extra-index-url Good'
     assert [(0, line)] == list(skip_regex(enumerate([line]), options))
コード例 #4
0
 def test_skip_regex_no_options(self):
     options = None
     line = '--extra-index-url Good'
     assert [(0, line)] == list(skip_regex(enumerate([line]), options))
コード例 #5
0
 def test_skip_regex_pattern_not_match(self):
     options = stub(skip_requirements_regex='.*Bad.*')
     line = '--extra-index-url Good'
     assert [(0, line)] == list(skip_regex(enumerate([line]), options))
コード例 #6
0
ファイル: test_req_file.py プロジェクト: DanishKhakwani/pip
 def test_skip_regex_no_skip_option(self):
     options = stub(skip_requirements_regex=None)
     line = '--extra-index-url Good'
     assert [(0, line)] == list(skip_regex(enumerate([line]), options))
コード例 #7
0
ファイル: test_req_file.py プロジェクト: DanishKhakwani/pip
 def test_skip_regex_no_options(self):
     options = None
     line = '--extra-index-url Good'
     assert [(0, line)] == list(skip_regex(enumerate([line]), options))
コード例 #8
0
ファイル: test_req_file.py プロジェクト: DanishKhakwani/pip
 def test_skip_regex_pattern_not_match(self):
     options = stub(skip_requirements_regex='.*Bad.*')
     line = '--extra-index-url Good'
     assert [(0, line)] == list(skip_regex(enumerate([line]), options))