Remove Optional from with_origin API (#3482)

This commit is contained in:
Charlie Marsh 2024-05-09 09:40:51 -04:00 committed by GitHub
parent 3e4365301e
commit b6bb2ac548
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 21 additions and 11 deletions

View file

@ -157,8 +157,11 @@ pub struct Requirement<T: Pep508Url = VerbatimUrl> {
impl Requirement {
/// Set the source file containing the requirement.
#[must_use]
pub fn with_origin(self, origin: Option<RequirementOrigin>) -> Self {
Self { origin, ..self }
pub fn with_origin(self, origin: RequirementOrigin) -> Self {
Self {
origin: Some(origin),
..self
}
}
}

View file

@ -55,8 +55,11 @@ impl UnnamedRequirement {
/// Set the source file containing the requirement.
#[must_use]
pub fn with_origin(self, origin: Option<RequirementOrigin>) -> Self {
Self { origin, ..self }
pub fn with_origin(self, origin: RequirementOrigin) -> Self {
Self {
origin: Some(origin),
..self
}
}
}

View file

@ -826,7 +826,11 @@ fn parse_requirement_and_hashes(
let requirement = RequirementsTxtRequirement::parse(requirement, working_dir)
.map(|requirement| {
requirement.with_origin(source.map(Path::to_path_buf).map(RequirementOrigin::File))
if let Some(source) = source {
requirement.with_origin(RequirementOrigin::File(source.to_path_buf()))
} else {
requirement
}
})
.map_err(|err| match err {
RequirementsTxtRequirementError::ParsedUrl(err) => {

View file

@ -21,7 +21,7 @@ pub enum RequirementsTxtRequirement {
impl RequirementsTxtRequirement {
/// Set the source file containing the requirement.
#[must_use]
pub fn with_origin(self, origin: Option<RequirementOrigin>) -> Self {
pub fn with_origin(self, origin: RequirementOrigin) -> Self {
match self {
Self::Named(requirement) => Self::Named(requirement.with_origin(origin)),
Self::Unnamed(requirement) => Self::Unnamed(requirement.with_origin(origin)),

View file

@ -333,9 +333,9 @@ pub(crate) fn lower_requirements(
let dependencies = dependencies
.iter()
.map(|dependency| {
let requirement = pep508_rs::Requirement::from_str(dependency)?.with_origin(Some(
let requirement = pep508_rs::Requirement::from_str(dependency)?.with_origin(
RequirementOrigin::Project(pyproject_path.to_path_buf(), project_name.clone()),
));
);
let name = requirement.name.clone();
lower_requirement(
requirement,
@ -356,10 +356,10 @@ pub(crate) fn lower_requirements(
.iter()
.map(|dependency| {
let requirement = pep508_rs::Requirement::from_str(dependency)?.with_origin(
Some(RequirementOrigin::Project(
RequirementOrigin::Project(
pyproject_path.to_path_buf(),
project_name.clone(),
)),
),
);
let name = requirement.name.clone();
lower_requirement(

View file

@ -154,7 +154,7 @@ impl<'a, Context: BuildContext> SourceTreeResolver<'a, Context> {
ExtrasSpecification::None => Ok(metadata
.requires_dist
.into_iter()
.map(|requirement| requirement.with_origin(Some(origin.clone())))
.map(|requirement| requirement.with_origin(origin.clone()))
.collect()),
ExtrasSpecification::All => Ok(metadata
.requires_dist