mirror of
https://github.com/wassname/pip-package-list.git
synced 2026-08-14 12:40:49 +08:00
Add support for wheel entries
This commit is contained in:
@@ -53,6 +53,14 @@ class RequirementsVCSPackageEntry(RequirementsEntry):
|
||||
return result
|
||||
|
||||
|
||||
@dataclass
|
||||
class RequirementsWheelPackageEntry(RequirementsEntry):
|
||||
uri: str
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.uri
|
||||
|
||||
|
||||
@dataclass
|
||||
class RequirementsPackageEntry(RequirementsEntry):
|
||||
name: str
|
||||
|
||||
@@ -10,6 +10,7 @@ from .entry import (
|
||||
RequirementsPackageEntry,
|
||||
RequirementsRecursiveEntry,
|
||||
RequirementsVCSPackageEntry,
|
||||
RequirementsWheelPackageEntry,
|
||||
)
|
||||
|
||||
|
||||
@@ -41,6 +42,10 @@ def parse_requirements_list(
|
||||
|
||||
elif re.match(r"^(.+)\+", stripped_line):
|
||||
yield parse_vcs_requirements_entry(line_source, stripped_line)
|
||||
|
||||
elif stripped_line.endswith("whl"):
|
||||
yield parse_wheel_requirements_entry(line_source, stripped_line)
|
||||
|
||||
else:
|
||||
yield parse_package_requirements_entry(line_source, stripped_line)
|
||||
|
||||
@@ -99,6 +104,12 @@ def parse_vcs_requirements_entry(
|
||||
return RequirementsVCSPackageEntry(source=source, vcs=vcs, uri=uri, tag=tag)
|
||||
|
||||
|
||||
def parse_wheel_requirements_entry(
|
||||
source: RequirementsEntrySource, line: str
|
||||
) -> RequirementsWheelPackageEntry:
|
||||
return RequirementsWheelPackageEntry(source=source, uri=line,)
|
||||
|
||||
|
||||
def parse_package_requirements_entry(
|
||||
source: RequirementsEntrySource, line: str
|
||||
) -> RequirementsPackageEntry:
|
||||
|
||||
Reference in New Issue
Block a user