Use more consistent Option in pyproject settings (#530)

This commit is contained in:
Charlie Marsh 2022-10-31 16:34:58 -04:00 committed by GitHub
parent 05867ef260
commit 621db96e7f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 71 additions and 72 deletions

View file

@ -16,36 +16,38 @@ pub fn convert(config: HashMap<String, HashMap<String, Option<String>>>) -> Resu
// Parse each supported option.
let mut options: Options = Default::default();
for (key, value) in flake8 {
match key.as_str() {
"line-length" | "line_length" => match value.clone().unwrap().parse::<usize>() {
Ok(line_length) => options.line_length = Some(line_length),
Err(e) => eprintln!("Unable to parse '{key}' property: {e}"),
},
"select" => {
options.select = Some(parser::parse_prefix_codes(value.as_ref().unwrap()));
}
"extend-select" | "extend_select" => {
options.extend_select = parser::parse_prefix_codes(value.as_ref().unwrap());
}
"ignore" => {
options.ignore = parser::parse_prefix_codes(value.as_ref().unwrap());
}
"extend-ignore" | "extend_ignore" => {
options.extend_ignore = parser::parse_prefix_codes(value.as_ref().unwrap());
}
"exclude" => {
options.exclude = Some(parser::parse_strings(value.as_ref().unwrap()));
}
"extend-exclude" | "extend_exclude" => {
options.extend_exclude = parser::parse_strings(value.as_ref().unwrap());
}
"per-file-ignores" | "per_file_ignores" => {
match parser::parse_files_to_codes_mapping(value.as_ref().unwrap()) {
Ok(per_file_ignores) => options.per_file_ignores = per_file_ignores,
if let Some(value) = value {
match key.as_str() {
"line-length" | "line_length" => match value.clone().parse::<usize>() {
Ok(line_length) => options.line_length = Some(line_length),
Err(e) => eprintln!("Unable to parse '{key}' property: {e}"),
},
"select" => {
options.select = Some(parser::parse_prefix_codes(value.as_ref()));
}
"extend-select" | "extend_select" => {
options.extend_select = Some(parser::parse_prefix_codes(value.as_ref()));
}
"ignore" => {
options.ignore = Some(parser::parse_prefix_codes(value.as_ref()));
}
"extend-ignore" | "extend_ignore" => {
options.extend_ignore = Some(parser::parse_prefix_codes(value.as_ref()));
}
"exclude" => {
options.exclude = Some(parser::parse_strings(value.as_ref()));
}
"extend-exclude" | "extend_exclude" => {
options.extend_exclude = Some(parser::parse_strings(value.as_ref()));
}
"per-file-ignores" | "per_file_ignores" => {
match parser::parse_files_to_codes_mapping(value.as_ref()) {
Ok(per_file_ignores) => options.per_file_ignores = Some(per_file_ignores),
Err(e) => eprintln!("Unable to parse '{key}' property: {e}"),
}
}
_ => eprintln!("Skipping unsupported property: {key}"),
}
_ => eprintln!("Skipping unsupported property: {key}"),
}
}