Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
python-poetry
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
python-poetry
Commits
69f2f6db
Unverified
Commit
69f2f6db
authored
Oct 23, 2018
by
Sébastien Eustace
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix potential errors when resolving dependencies for specific packages
parent
e82ec7dd
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
20 additions
and
20 deletions
+20
-20
CHANGELOG.md
+1
-0
poetry/packages/package.py
+1
-13
poetry/repositories/exceptions.py
+8
-0
poetry/repositories/legacy_repository.py
+3
-2
poetry/repositories/pool.py
+2
-2
poetry/repositories/pypi_repository.py
+3
-2
tests/repositories/test_legacy_repository.py
+2
-1
No files found.
CHANGELOG.md
View file @
69f2f6db
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
### Fixed
### Fixed
-
Fixed installation of Poetry git dependencies with a build system.
-
Fixed installation of Poetry git dependencies with a build system.
-
Fixed possible errors when resolving dependencies for specific packages.
## [0.12.4] - 2018-10-21
## [0.12.4] - 2018-10-21
...
...
poetry/packages/package.py
View file @
69f2f6db
...
@@ -73,6 +73,7 @@ class Package(object):
...
@@ -73,6 +73,7 @@ class Package(object):
self
.
_python_constraint
=
parse_constraint
(
"*"
)
self
.
_python_constraint
=
parse_constraint
(
"*"
)
self
.
_python_marker
=
AnyMarker
()
self
.
_python_marker
=
AnyMarker
()
self
.
platform
=
None
self
.
marker
=
AnyMarker
()
self
.
marker
=
AnyMarker
()
self
.
root_dir
=
None
self
.
root_dir
=
None
...
@@ -168,19 +169,6 @@ class Package(object):
...
@@ -168,19 +169,6 @@ class Package(object):
return
self
.
_python_marker
return
self
.
_python_marker
@property
@property
def
platform
(
self
):
# type: () -> str
return
self
.
_platform
@platform.setter
def
platform
(
self
,
value
):
# type: (str) -> None
self
.
_platform
=
value
self
.
_platform_constraint
=
parse_generic_constraint
(
value
)
@property
def
platform_constraint
(
self
):
return
self
.
_platform_constraint
@property
def
license
(
self
):
def
license
(
self
):
return
self
.
_license
return
self
.
_license
...
...
poetry/repositories/exceptions.py
0 → 100644
View file @
69f2f6db
class
RepositoryError
(
Exception
):
pass
class
PackageNotFound
(
Exception
):
pass
poetry/repositories/legacy_repository.py
View file @
69f2f6db
...
@@ -41,6 +41,7 @@ from poetry.utils._compat import Path
...
@@ -41,6 +41,7 @@ from poetry.utils._compat import Path
from
poetry.utils.helpers
import
canonicalize_name
,
get_http_basic_auth
from
poetry.utils.helpers
import
canonicalize_name
,
get_http_basic_auth
from
poetry.version.markers
import
InvalidMarker
from
poetry.version.markers
import
InvalidMarker
from
.exceptions
import
PackageNotFound
from
.pypi_repository
import
PyPiRepository
from
.pypi_repository
import
PyPiRepository
...
@@ -297,7 +298,7 @@ class LegacyRepository(PyPiRepository):
...
@@ -297,7 +298,7 @@ class LegacyRepository(PyPiRepository):
def
_get_release_info
(
self
,
name
,
version
):
# type: (str, str) -> dict
def
_get_release_info
(
self
,
name
,
version
):
# type: (str, str) -> dict
page
=
self
.
_get
(
"/{}/"
.
format
(
canonicalize_name
(
name
)
.
replace
(
"."
,
"-"
)))
page
=
self
.
_get
(
"/{}/"
.
format
(
canonicalize_name
(
name
)
.
replace
(
"."
,
"-"
)))
if
page
is
None
:
if
page
is
None
:
raise
ValueError
(
'No package named "{}"'
.
format
(
name
))
raise
PackageNotFound
(
'No package named "{}"'
.
format
(
name
))
data
=
{
data
=
{
"name"
:
name
,
"name"
:
name
,
...
@@ -310,7 +311,7 @@ class LegacyRepository(PyPiRepository):
...
@@ -310,7 +311,7 @@ class LegacyRepository(PyPiRepository):
links
=
list
(
page
.
links_for_version
(
Version
.
parse
(
version
)))
links
=
list
(
page
.
links_for_version
(
Version
.
parse
(
version
)))
if
not
links
:
if
not
links
:
raise
ValueError
(
raise
PackageNotFound
(
'No valid distribution links found for package: "{}" version: "{}"'
.
format
(
'No valid distribution links found for package: "{}" version: "{}"'
.
format
(
name
,
version
name
,
version
)
)
...
...
poetry/repositories/pool.py
View file @
69f2f6db
from
typing
import
List
from
typing
import
List
from
typing
import
Union
from
typing
import
Union
import
poetry.packages
from
.base_repository
import
BaseRepository
from
.base_repository
import
BaseRepository
from
.exceptions
import
PackageNotFound
from
.repository
import
Repository
from
.repository
import
Repository
...
@@ -65,7 +65,7 @@ class Pool(BaseRepository):
...
@@ -65,7 +65,7 @@ class Pool(BaseRepository):
for
repository
in
self
.
_repositories
:
for
repository
in
self
.
_repositories
:
try
:
try
:
package
=
repository
.
package
(
name
,
version
,
extras
=
extras
)
package
=
repository
.
package
(
name
,
version
,
extras
=
extras
)
except
ValueError
:
except
PackageNotFound
:
continue
continue
if
package
:
if
package
:
...
...
poetry/repositories/pypi_repository.py
View file @
69f2f6db
...
@@ -41,6 +41,7 @@ from poetry.utils.helpers import temporary_directory
...
@@ -41,6 +41,7 @@ from poetry.utils.helpers import temporary_directory
from
poetry.utils.env
import
Env
from
poetry.utils.env
import
Env
from
poetry.version.markers
import
InvalidMarker
from
poetry.version.markers
import
InvalidMarker
from
.exceptions
import
PackageNotFound
from
.repository
import
Repository
from
.repository
import
Repository
...
@@ -225,7 +226,7 @@ class PyPiRepository(Repository):
...
@@ -225,7 +226,7 @@ class PyPiRepository(Repository):
def
_get_package_info
(
self
,
name
):
# type: (str) -> dict
def
_get_package_info
(
self
,
name
):
# type: (str) -> dict
data
=
self
.
_get
(
"pypi/{}/json"
.
format
(
name
))
data
=
self
.
_get
(
"pypi/{}/json"
.
format
(
name
))
if
data
is
None
:
if
data
is
None
:
raise
ValueError
(
"Package [{}] not found."
.
format
(
name
))
raise
PackageNotFound
(
"Package [{}] not found."
.
format
(
name
))
return
data
return
data
...
@@ -261,7 +262,7 @@ class PyPiRepository(Repository):
...
@@ -261,7 +262,7 @@ class PyPiRepository(Repository):
json_data
=
self
.
_get
(
"pypi/{}/{}/json"
.
format
(
name
,
version
))
json_data
=
self
.
_get
(
"pypi/{}/{}/json"
.
format
(
name
,
version
))
if
json_data
is
None
:
if
json_data
is
None
:
raise
ValueError
(
"Package [{}] not found."
.
format
(
name
))
raise
PackageNotFound
(
"Package [{}] not found."
.
format
(
name
))
info
=
json_data
[
"info"
]
info
=
json_data
[
"info"
]
data
=
{
data
=
{
...
...
tests/repositories/test_legacy_repository.py
View file @
69f2f6db
import
pytest
import
pytest
from
poetry.repositories.exceptions
import
PackageNotFound
from
poetry.repositories.legacy_repository
import
LegacyRepository
from
poetry.repositories.legacy_repository
import
LegacyRepository
from
poetry.repositories.legacy_repository
import
Page
from
poetry.repositories.legacy_repository
import
Page
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
Path
...
@@ -55,5 +56,5 @@ def test_sdist_format_support():
...
@@ -55,5 +56,5 @@ def test_sdist_format_support():
def
test_missing_version
(
mocker
):
def
test_missing_version
(
mocker
):
repo
=
MockRepository
()
repo
=
MockRepository
()
with
pytest
.
raises
(
ValueError
):
with
pytest
.
raises
(
PackageNotFound
):
repo
.
_get_release_info
(
"missing_version"
,
"1.1.0"
)
repo
.
_get_release_info
(
"missing_version"
,
"1.1.0"
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment