feat(backend): default parameters are used in python if missing from args

This commit is contained in:
Ruben Fiszel
2023-05-05 09:44:53 +02:00
parent a312988c6f
commit 96ff45ecb5
4 changed files with 28 additions and 14 deletions

View File

@@ -289,7 +289,18 @@ pub async fn handle_python_job(
} else {
sig.args
.into_iter()
.map(|x| format!("args[\"{}\"] = kwargs.get(\"{}\")", x.name, x.name))
.map(|x| {
let name = &x.name;
if x.default.is_none() {
format!("args[\"{name}\"] = kwargs.get(\"{name}\")")
} else {
format!(
r#"args["{name}"] = kwargs.get("{name}")
if not args["{name}"]:
del args["{name}"]"#
)
}
})
.join("\n")
};