Skip to content

Commit ae96685

Browse files
committed
Add is_writable method to Param class for writable parameter checks
1 parent 7b9dcdf commit ae96685

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

cflib2/_rust.pyi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,6 +1112,16 @@ class Param:
11121112
- The value is out of range for the parameter type
11131113
- The value cannot be represented accurately (e.g., fractional value for integer param)
11141114
"""
1115+
def is_writable(self, name: builtins.str) -> builtins.bool:
1116+
r"""
1117+
Check if a parameter is writable
1118+
1119+
Returns True if the parameter can be set, False if it is read-only.
1120+
Raises an error if the parameter does not exist.
1121+
1122+
# Arguments
1123+
* `name` - Parameter name in format "group.name"
1124+
"""
11151125
async def is_persistent(self, name: builtins.str) -> bool:
11161126
r"""
11171127
Check if a parameter supports persistent storage

rust/src/subsystems/param.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,17 @@ impl Param {
206206
})
207207
}
208208

209+
/// Check if a parameter is writable
210+
///
211+
/// Returns True if the parameter can be set, False if it is read-only.
212+
/// Raises an error if the parameter does not exist.
213+
///
214+
/// # Arguments
215+
/// * `name` - Parameter name in format "group.name"
216+
fn is_writable(&self, name: &str) -> PyResult<bool> {
217+
self.cf.param.is_writable(name).map_err(to_pyerr)
218+
}
219+
209220
/// Check if a parameter supports persistent storage
210221
///
211222
/// Returns False for parameters that do not support persistence.

0 commit comments

Comments
 (0)