def _index_scan(self, digests_fetcher: DigestsFetcherBase) -> typing.Tuple[list, dict]:
report = {}<EOL>findings = []<EOL>for package_version in chain(self.pipfile_lock.packages, self.pipfile_lock.dev_packages):<EOL><INDENT>if package_version.name in report:<EOL><INDENT>_LOGGER.warning(f"<STR_LIT>")<EOL>continue<EOL><DEDENT>index_report = digests_fetcher.fetch_digests(package_version.name, package_version.locked_version)<EOL>findings.extend(self._check_scan(package_version, index_report))<EOL>report[package_version.name] = index_report<EOL><DEDENT>return findings, report<EOL>
Generate full report for packages given the sources configured.