Make project.get_default_index() populate a default name

Otherwise using pipenv with a Pipfile the defaults a source without a
name causes a KeyError like:

```
Traceback (most recent call last):
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 675, in <module>
    main()
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 661, in main
    _main(
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 645, in _main
    resolve_packages(
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 612, in resolve_packages
    results, resolver = resolve(
                        ^^^^^^^^
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 592, in resolve
    return resolve_deps(
           ^^^^^^^^^^^^^
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/utils/resolver.py", line 910, in resolve_deps
    results, hashes, internal_resolver = actually_resolve_deps(
                                         ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/utils/resolver.py", line 672, in actually_resolve_deps
    resolver = Resolver.create(
               ^^^^^^^^^^^^^^^^
  File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/utils/resolver.py", line 222, in create
    index_lookup[package_name] = project.get_default_index()["name"]
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
KeyError: 'name'

```
This commit is contained in:
David Rodríguez
2023-11-21 10:45:12 +01:00
parent 247a14369d
commit 6b61b7abd9
2 changed files with 2 additions and 1 deletions
+1
View File
@@ -0,0 +1 @@
Fix KeyError when using a source without a name in Pipfile
+1 -1
View File
@@ -1023,7 +1023,7 @@ class Project:
return sources
def get_default_index(self):
return self.pipfile_sources()[0]
return self.populate_source(self.pipfile_sources()[0])
def get_index_by_name(self, index_name):
for source in self.pipfile_sources():