Add support for wheel entries

This commit is contained in:
Swen Kooij
2020-03-19 15:23:07 +02:00
parent 76d0a5382d
commit e18f52cdc6
2 changed files with 19 additions and 0 deletions
+8
View File
@@ -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
+11
View File
@@ -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: