예제 #1
0
def _get_package_data(location, **kwargs):
    """
    Return a mapping of package manifest information detected in the file at `location`.

    Note that all exceptions are caught if there are any errors while parsing a
    package manifest.
    """
    from packagedcode.recognize import recognize_package_data
    try:
        return recognize_package_data(location) or []
    except Exception as e:
        if TRACE:
            logger.error(
                f'_get_package_data: location: {location!r}: Exception: {e}')

        if SCANCODE_DEBUG_PACKAGE_API:
            raise
        else:
            # attention: we are swallowing ALL exceptions here!
            pass
예제 #2
0
 def test_recognize_go_sum(self):
     test_file = self.get_test_loc('golang/gosum/sample1/go.sum')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #3
0
 def test_recognize_opam1(self):
     test_file = self.get_test_loc('recon/base.opam')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #4
0
 def test_recognize_npm(self):
     test_file = self.get_test_loc('recon/package.json')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #5
0
 def test_recognize_maven_dot_pom(self):
     test_file = self.get_test_loc(
         'm2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #6
0
 def test_recognize_package_data_iso(self):
     test_file = self.get_test_loc('archives/small.iso')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #7
0
 def test_recognize_package_data_zip(self):
     test_file = self.get_test_loc('archives/myarch-2.3.0.7z')
     packages = recognize_package_data(test_file)
     assert not packages
예제 #8
0
 def test_recognize_package_data_cab(self):
     test_file = self.get_test_loc('archives/basic.cab')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #9
0
 def test_recognize_python2(self):
     test_file = self.get_test_loc(
         'recon/pypi/atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #10
0
 def test_recognize_cpan(self):
     test_file = self.get_test_loc('cpan/MANIFEST')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #11
0
 def test_recognize_bower(self):
     test_file = self.get_test_loc('bower/basic/bower.json')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #12
0
 def test_recognize_winexe(self):
     test_file = self.get_test_loc('win_pe/tre4.dll')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #13
0
 def test_recognize_nuget(self):
     test_file = self.get_test_loc('recon/bootstrap.nuspec')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #14
0
 def test_recognize_freebsd(self):
     test_file = self.get_test_loc(
         'freebsd/multi_license/+COMPACT_MANIFEST')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #15
0
 def test_recognize_package_data_deb(self):
     test_file = self.get_test_loc('archives/adduser_3.112ubuntu1_all.deb')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #16
0
 def test_recognize_package_data_rpm(self):
     test_file = self.get_test_loc('archives/alfandega-2.2-2.rh80.src.rpm')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #17
0
 def test_recognize_python3(self):
     test_file = self.get_test_loc('recon/pypi/Six/Six.dist-info/METADATA')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #18
0
 def test_recognize_package_data_rar(self):
     test_file = self.get_test_loc('archives/basic.rar')
     packages = recognize_package_data(test_file)
     assert not packages
예제 #19
0
 def test_recognize_python5(self):
     test_file = self.get_test_loc('recon/pypi/TicketImport/PKG-INFO')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #20
0
 def test_recognize_package_data_gem(self):
     test_file = self.get_test_loc(
         'archives/mysmallidea-address_standardization-0.4.1.gem')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #21
0
 def test_recognize_python6(self):
     test_file = self.get_test_loc('recon/pypi/arpy/setup.py')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #22
0
 def test_recognize_package_data_does_not_recognize_plain_tarball(self):
     test_file = self.get_test_loc('archives/tarred_bzipped.tar.bz2')
     packages = recognize_package_data(test_file)
     assert not packages
예제 #23
0
 def test_recognize_python7(self):
     test_file = self.get_test_loc('recon/pypi/atomicwrites/Pipfile.lock')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #24
0
 def test_recognize_maven_pom_xml(self):
     test_file = self.get_test_loc('maven2/pom-generic/pom.xml')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #25
0
 def test_recognize_python8(self):
     test_file = self.get_test_loc(
         'recon/pypi/requirements/requirements.txt')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #26
0
 def test_recognize_cargo(self):
     test_file = self.get_test_loc('recon/Cargo.toml')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)
예제 #27
0
 def test_recognize_go_mod(self):
     test_file = self.get_test_loc('golang/gomod/kingpin/go.mod')
     packages = recognize_package_data(test_file)
     assert packages
     assert isinstance(packages[0], models.PackageData)