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
df90acb6
Commit
df90acb6
authored
Oct 01, 2022
by
Bart Kamphorst
Committed by
Bjorn Neergaard
Oct 10, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor: introduce AbstractRepository
parent
46ae4f54
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
45 additions
and
15 deletions
+45
-15
src/poetry/repositories/abstract_repository.py
+37
-0
src/poetry/repositories/cached.py
+1
-1
src/poetry/repositories/http.py
+1
-2
src/poetry/repositories/pool.py
+3
-6
src/poetry/repositories/repository.py
+3
-6
No files found.
src/poetry/repositories/abstract_repository.py
0 → 100644
View file @
df90acb6
from
__future__
import
annotations
from
abc
import
ABC
from
abc
import
abstractmethod
from
typing
import
TYPE_CHECKING
if
TYPE_CHECKING
:
from
poetry.core.packages.dependency
import
Dependency
from
poetry.core.packages.package
import
Package
from
poetry.core.semver.version
import
Version
class
AbstractRepository
(
ABC
):
def
__init__
(
self
,
name
:
str
)
->
None
:
self
.
_name
=
name
@property
def
name
(
self
)
->
str
:
return
self
.
_name
@abstractmethod
def
find_packages
(
self
,
dependency
:
Dependency
)
->
list
[
Package
]:
...
@abstractmethod
def
search
(
self
,
query
:
str
)
->
list
[
Package
]:
...
@abstractmethod
def
package
(
self
,
name
:
str
,
version
:
Version
,
extras
:
list
[
str
]
|
None
=
None
,
)
->
Package
:
...
src/poetry/repositories/cached.py
View file @
df90acb6
...
@@ -46,7 +46,7 @@ class CachedRepository(Repository, ABC):
...
@@ -46,7 +46,7 @@ class CachedRepository(Repository, ABC):
def
_get_release_info
(
def
_get_release_info
(
self
,
name
:
NormalizedName
,
version
:
Version
self
,
name
:
NormalizedName
,
version
:
Version
)
->
dict
[
str
,
Any
]:
)
->
dict
[
str
,
Any
]:
raise
NotImplementedError
()
...
def
get_release_info
(
self
,
name
:
NormalizedName
,
version
:
Version
)
->
PackageInfo
:
def
get_release_info
(
self
,
name
:
NormalizedName
,
version
:
Version
)
->
PackageInfo
:
"""
"""
...
...
src/poetry/repositories/http.py
View file @
df90acb6
...
@@ -5,7 +5,6 @@ import os
...
@@ -5,7 +5,6 @@ import os
import
urllib
import
urllib
import
urllib.parse
import
urllib.parse
from
abc
import
ABC
from
collections
import
defaultdict
from
collections
import
defaultdict
from
pathlib
import
Path
from
pathlib
import
Path
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
...
@@ -35,7 +34,7 @@ if TYPE_CHECKING:
...
@@ -35,7 +34,7 @@ if TYPE_CHECKING:
from
poetry.utils.authenticator
import
RepositoryCertificateConfig
from
poetry.utils.authenticator
import
RepositoryCertificateConfig
class
HTTPRepository
(
CachedRepository
,
ABC
):
class
HTTPRepository
(
CachedRepository
):
def
__init__
(
def
__init__
(
self
,
self
,
name
:
str
,
name
:
str
,
...
...
src/poetry/repositories/pool.py
View file @
df90acb6
...
@@ -6,6 +6,7 @@ from collections import OrderedDict
...
@@ -6,6 +6,7 @@ from collections import OrderedDict
from
enum
import
IntEnum
from
enum
import
IntEnum
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
from
poetry.repositories.abstract_repository
import
AbstractRepository
from
poetry.repositories.exceptions
import
PackageNotFound
from
poetry.repositories.exceptions
import
PackageNotFound
...
@@ -25,13 +26,13 @@ class Priority(IntEnum):
...
@@ -25,13 +26,13 @@ class Priority(IntEnum):
SECONDARY
=
enum
.
auto
()
SECONDARY
=
enum
.
auto
()
class
Pool
:
class
Pool
(
AbstractRepository
)
:
def
__init__
(
def
__init__
(
self
,
self
,
repositories
:
list
[
Repository
]
|
None
=
None
,
repositories
:
list
[
Repository
]
|
None
=
None
,
ignore_repository_names
:
bool
=
False
,
ignore_repository_names
:
bool
=
False
,
)
->
None
:
)
->
None
:
s
elf
.
_name
=
"poetry-pool"
s
uper
()
.
__init__
(
"poetry-pool"
)
self
.
_repositories
:
OrderedDict
[
self
.
_repositories
:
OrderedDict
[
str
,
tuple
[
Repository
,
RepositoryPriority
]
str
,
tuple
[
Repository
,
RepositoryPriority
]
]
=
OrderedDict
()
]
=
OrderedDict
()
...
@@ -43,10 +44,6 @@ class Pool:
...
@@ -43,10 +44,6 @@ class Pool:
self
.
add_repository
(
repository
)
self
.
add_repository
(
repository
)
@property
@property
def
name
(
self
)
->
str
:
return
self
.
_name
@property
def
repositories
(
self
)
->
list
[
Repository
]:
def
repositories
(
self
)
->
list
[
Repository
]:
unsorted_repositories
=
self
.
_repositories
.
values
()
unsorted_repositories
=
self
.
_repositories
.
values
()
sorted_repositories
=
sorted
(
unsorted_repositories
,
key
=
lambda
p
:
p
[
1
]
.
value
)
sorted_repositories
=
sorted
(
unsorted_repositories
,
key
=
lambda
p
:
p
[
1
]
.
value
)
...
...
src/poetry/repositories/repository.py
View file @
df90acb6
...
@@ -8,6 +8,7 @@ from packaging.utils import canonicalize_name
...
@@ -8,6 +8,7 @@ from packaging.utils import canonicalize_name
from
poetry.core.constraints.version
import
Version
from
poetry.core.constraints.version
import
Version
from
poetry.core.constraints.version
import
VersionRange
from
poetry.core.constraints.version
import
VersionRange
from
poetry.repositories.abstract_repository
import
AbstractRepository
from
poetry.repositories.exceptions
import
PackageNotFound
from
poetry.repositories.exceptions
import
PackageNotFound
...
@@ -19,19 +20,15 @@ if TYPE_CHECKING:
...
@@ -19,19 +20,15 @@ if TYPE_CHECKING:
from
poetry.core.packages.utils.link
import
Link
from
poetry.core.packages.utils.link
import
Link
class
Repository
:
class
Repository
(
AbstractRepository
)
:
def
__init__
(
self
,
name
:
str
,
packages
:
list
[
Package
]
|
None
=
None
)
->
None
:
def
__init__
(
self
,
name
:
str
,
packages
:
list
[
Package
]
|
None
=
None
)
->
None
:
s
elf
.
_name
=
name
s
uper
()
.
__init__
(
name
)
self
.
_packages
:
list
[
Package
]
=
[]
self
.
_packages
:
list
[
Package
]
=
[]
for
package
in
packages
or
[]:
for
package
in
packages
or
[]:
self
.
add_package
(
package
)
self
.
add_package
(
package
)
@property
@property
def
name
(
self
)
->
str
:
return
self
.
_name
@property
def
packages
(
self
)
->
list
[
Package
]:
def
packages
(
self
)
->
list
[
Package
]:
return
self
.
_packages
return
self
.
_packages
...
...
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