コード例 #1
0
ファイル: allPythonContent.py プロジェクト: Mondego/pyreco
 def test_multiple_requirements_files(self):
     with tempfile.NamedTemporaryFile('w') as f1:
         f1.write(EXAMPLE_REQUIREMENTS)
         f1.flush()
         with tempfile.NamedTemporaryFile('w') as f2:
             f2.write(EXAMPLE_EXTRA_REQUIREMENTS)
             f2.flush()
             got = ciu_main.projects_from_requirements([f1.name, f2.name])
     want = self.expected_requirements.union(self.expected_extra_requirements)
     self.assertEqual(set(got), want)
コード例 #2
0
 def test_multiple_requirements_files(self):
     with tempfile.NamedTemporaryFile('w') as f1:
         f1.write(EXAMPLE_REQUIREMENTS)
         f1.flush()
         with tempfile.NamedTemporaryFile('w') as f2:
             f2.write(EXAMPLE_EXTRA_REQUIREMENTS)
             f2.flush()
             got = ciu_main.projects_from_requirements([f1.name, f2.name])
     want = self.expected_requirements.union(self.expected_extra_requirements)
     self.assertEqual(set(got), want)
コード例 #3
0
ファイル: test_cli.py プロジェクト: b-jazz/caniusepython3
 def test_multiple_requirements_files(self):
     with tempfile.NamedTemporaryFile('w') as f1:
         f1.write(EXAMPLE_REQUIREMENTS)
         f1.flush()
         with tempfile.NamedTemporaryFile('w') as f2:
             f2.write('foobar\n')
             f2.flush()
             got = ciu_main.projects_from_requirements([f1.name, f2.name])
     expected_requirements = frozenset(
         list(self.expected_requirements) + ['foobar']
     )
     self.assertEqual(set(got), expected_requirements)
コード例 #4
0
 def clean(self):
     projects = OrderedDict()  # using this since sets aren't ordered
     for requirement in self.requirements:
         parsed_url_requirement = urlparse(requirement)
         if parsed_url_requirement.scheme in ('http', 'https'):
             try:
                 for project in projects_from_requirements(requirement):
                     projects[project] = None
             except:
                 raise ValidationError("Couldn't check %s." % requirement)
         else:
             projects[requirement] = None
     for project_name in projects.keys():
         project_name_validator(project_name)
     self.projects = projects.keys()
コード例 #5
0
ファイル: __init__.py プロジェクト: tspecht/caniusepython3
def check(requirements_paths=[], metadata=[], projects=[]):
    """Return True if all of the specified dependencies have been ported to Python 3.

    The requirements_paths argument takes a sequence of file paths to
    requirements files. The 'metadata' argument takes a sequence of strings
    representing metadata. The 'projects' argument takes a sequence of project
    names.

    Any project that is not listed on PyPI will be considered ported.
    """
    dependencies = main.projects_from_requirements(requirements_paths)
    dependencies.extend(main.projects_from_metadata(metadata))
    dependencies.extend(projects)
    dependencies = set(name.lower() for name in dependencies)

    py3_projects = pypi.all_py3_projects()
    all_projects = pypi.all_projects()

    for dependency in dependencies:
        if dependency in all_projects and dependency not in py3_projects:
            return False
    return True
コード例 #6
0
ファイル: __init__.py プロジェクト: bakslash/Queryapp
def check(requirements_paths=[], metadata=[], projects=[]):
    """Return True if all of the specified dependencies have been ported to Python 3.

    The requirements_paths argument takes a sequence of file paths to
    requirements files. The 'metadata' argument takes a sequence of strings
    representing metadata. The 'projects' argument takes a sequence of project
    names.

    Any project that is not listed on PyPI will be considered ported.
    """
    dependencies = []
    dependencies.extend(main.projects_from_requirements(requirements_paths))
    dependencies.extend(main.projects_from_metadata(metadata))
    dependencies.extend(projects)

    manual_overrides = pypi.manual_overrides()

    for dependency in dependencies:
        if dependency in manual_overrides:
            continue
        elif not pypi.supports_py3(dependency):
            return False
    return True
コード例 #7
0
    def clean(self):
        projects = OrderedDict()  # using this since sets aren't ordered
        for requirement in self.requirements:
            url = urlparse(requirement)
            if url.scheme in ('http', 'https', 'file'):
                requirement = [sanitize_github_url(requirement, url)]
                try:
                    for project in projects_from_requirements(requirement):
                        projects[project] = None
                except:
                    raise ValidationError("Couldn't check %s." % requirement)
            else:
                projects[requirement] = None

        # from .jobs import get_all_projects
        # all_projects = get_all_projects(lower=True)
        # check_all_projects = len(all_projects) > 0

        self.projects = list(projects.keys())

        for index, project_name in enumerate(self.projects):
            validators.RegexValidator(project_name_re,
                                      'Project %s invalid' %
                                      project_name)(project_name)
コード例 #8
0
ファイル: test_cli.py プロジェクト: b-jazz/caniusepython3
 def test_requirements(self):
     with tempfile.NamedTemporaryFile('w') as file:
         file.write(EXAMPLE_REQUIREMENTS)
         file.flush()
         got = ciu_main.projects_from_requirements([file.name])
     self.assertEqual(set(got), self.expected_requirements)
コード例 #9
0
 def test_requirements(self):
     with tempfile.NamedTemporaryFile('w') as file:
         file.write(EXAMPLE_REQUIREMENTS)
         file.flush()
         got = ciu_main.projects_from_requirements([file.name])
     self.assertEqual(set(got), self.expected_requirements)