Skip to content

Commit 34b4aa8

Browse files
committed
fixup: format
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
1 parent 224fa57 commit 34b4aa8

2 files changed

Lines changed: 87 additions & 58 deletions

File tree

python/src/lib.rs

Lines changed: 87 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
use ::flagd_evaluator::evaluation::{
2+
evaluate_bool_flag, evaluate_flag, evaluate_float_flag, evaluate_int_flag, evaluate_string_flag,
3+
};
4+
use ::flagd_evaluator::model::ParsingResult;
15
use pyo3::prelude::*;
26
use pyo3::types::PyDict;
37
use serde_json::Value;
4-
use ::flagd_evaluator::model::ParsingResult;
5-
use ::flagd_evaluator::evaluation::{evaluate_flag, evaluate_bool_flag, evaluate_string_flag, evaluate_int_flag, evaluate_float_flag};
68

79
/// FlagEvaluator - Stateful feature flag evaluator
810
///
@@ -48,16 +50,20 @@ impl FlagEvaluator {
4850
let config_value: Value = pythonize::depythonize(config)?;
4951

5052
// Convert to JSON string for parsing
51-
let config_str = serde_json::to_string(&config_value)
52-
.map_err(|e| PyErr::new::<pyo3::exceptions::PyValueError, _>(
53-
format!("Failed to serialize config: {}", e)
54-
))?;
53+
let config_str = serde_json::to_string(&config_value).map_err(|e| {
54+
PyErr::new::<pyo3::exceptions::PyValueError, _>(format!(
55+
"Failed to serialize config: {}",
56+
e
57+
))
58+
})?;
5559

5660
// Parse the configuration
57-
let parsing_result = ParsingResult::parse(&config_str)
58-
.map_err(|e| PyErr::new::<pyo3::exceptions::PyValueError, _>(
59-
format!("Failed to parse config: {}", e)
60-
))?;
61+
let parsing_result = ParsingResult::parse(&config_str).map_err(|e| {
62+
PyErr::new::<pyo3::exceptions::PyValueError, _>(format!(
63+
"Failed to parse config: {}",
64+
e
65+
))
66+
})?;
6167

6268
// Store the state
6369
self.state = Some(parsing_result.clone());
@@ -77,16 +83,16 @@ impl FlagEvaluator {
7783
/// Returns:
7884
/// dict: Evaluation result with value, variant, reason, and metadata
7985
fn evaluate(&self, py: Python, flag_key: String, context: &PyDict) -> PyResult<PyObject> {
80-
let state = self.state.as_ref()
81-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
82-
"No state loaded. Call update_state() first."
83-
))?;
86+
let state = self.state.as_ref().ok_or_else(|| {
87+
PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
88+
"No state loaded. Call update_state() first.",
89+
)
90+
})?;
8491

8592
// Look up the flag
86-
let flag = state.flags.get(&flag_key)
87-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyKeyError, _>(
88-
format!("Flag not found: {}", flag_key)
89-
))?;
93+
let flag = state.flags.get(&flag_key).ok_or_else(|| {
94+
PyErr::new::<pyo3::exceptions::PyKeyError, _>(format!("Flag not found: {}", flag_key))
95+
})?;
9096

9197
// Convert context to JSON Value
9298
let context_value: Value = pythonize::depythonize(context)?;
@@ -95,8 +101,12 @@ impl FlagEvaluator {
95101
let result = evaluate_flag(flag, &context_value, &state.flag_set_metadata);
96102

97103
// Convert result to Python dict
98-
pythonize::pythonize(py, &result)
99-
.map_err(|e| PyErr::new::<pyo3::exceptions::PyValueError, _>(format!("Failed to convert result: {}", e)))
104+
pythonize::pythonize(py, &result).map_err(|e| {
105+
PyErr::new::<pyo3::exceptions::PyValueError, _>(format!(
106+
"Failed to convert result: {}",
107+
e
108+
))
109+
})
100110
}
101111

102112
/// Evaluate a boolean flag
@@ -108,16 +118,21 @@ impl FlagEvaluator {
108118
///
109119
/// Returns:
110120
/// bool: The evaluated boolean value
111-
fn evaluate_bool(&self, flag_key: String, context: &PyDict, default_value: bool) -> PyResult<bool> {
112-
let state = self.state.as_ref()
113-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
114-
"No state loaded. Call update_state() first."
115-
))?;
121+
fn evaluate_bool(
122+
&self,
123+
flag_key: String,
124+
context: &PyDict,
125+
default_value: bool,
126+
) -> PyResult<bool> {
127+
let state = self.state.as_ref().ok_or_else(|| {
128+
PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
129+
"No state loaded. Call update_state() first.",
130+
)
131+
})?;
116132

117-
let flag = state.flags.get(&flag_key)
118-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyKeyError, _>(
119-
format!("Flag not found: {}", flag_key)
120-
))?;
133+
let flag = state.flags.get(&flag_key).ok_or_else(|| {
134+
PyErr::new::<pyo3::exceptions::PyKeyError, _>(format!("Flag not found: {}", flag_key))
135+
})?;
121136

122137
let context_value: Value = pythonize::depythonize(context)?;
123138
let result = evaluate_bool_flag(flag, &context_value, &state.flag_set_metadata);
@@ -137,16 +152,21 @@ impl FlagEvaluator {
137152
///
138153
/// Returns:
139154
/// str: The evaluated string value
140-
fn evaluate_string(&self, flag_key: String, context: &PyDict, default_value: String) -> PyResult<String> {
141-
let state = self.state.as_ref()
142-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
143-
"No state loaded. Call update_state() first."
144-
))?;
155+
fn evaluate_string(
156+
&self,
157+
flag_key: String,
158+
context: &PyDict,
159+
default_value: String,
160+
) -> PyResult<String> {
161+
let state = self.state.as_ref().ok_or_else(|| {
162+
PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
163+
"No state loaded. Call update_state() first.",
164+
)
165+
})?;
145166

146-
let flag = state.flags.get(&flag_key)
147-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyKeyError, _>(
148-
format!("Flag not found: {}", flag_key)
149-
))?;
167+
let flag = state.flags.get(&flag_key).ok_or_else(|| {
168+
PyErr::new::<pyo3::exceptions::PyKeyError, _>(format!("Flag not found: {}", flag_key))
169+
})?;
150170

151171
let context_value: Value = pythonize::depythonize(context)?;
152172
let result = evaluate_string_flag(flag, &context_value, &state.flag_set_metadata);
@@ -166,16 +186,21 @@ impl FlagEvaluator {
166186
///
167187
/// Returns:
168188
/// int: The evaluated integer value
169-
fn evaluate_int(&self, flag_key: String, context: &PyDict, default_value: i64) -> PyResult<i64> {
170-
let state = self.state.as_ref()
171-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
172-
"No state loaded. Call update_state() first."
173-
))?;
189+
fn evaluate_int(
190+
&self,
191+
flag_key: String,
192+
context: &PyDict,
193+
default_value: i64,
194+
) -> PyResult<i64> {
195+
let state = self.state.as_ref().ok_or_else(|| {
196+
PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
197+
"No state loaded. Call update_state() first.",
198+
)
199+
})?;
174200

175-
let flag = state.flags.get(&flag_key)
176-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyKeyError, _>(
177-
format!("Flag not found: {}", flag_key)
178-
))?;
201+
let flag = state.flags.get(&flag_key).ok_or_else(|| {
202+
PyErr::new::<pyo3::exceptions::PyKeyError, _>(format!("Flag not found: {}", flag_key))
203+
})?;
179204

180205
let context_value: Value = pythonize::depythonize(context)?;
181206
let result = evaluate_int_flag(flag, &context_value, &state.flag_set_metadata);
@@ -195,16 +220,21 @@ impl FlagEvaluator {
195220
///
196221
/// Returns:
197222
/// float: The evaluated float value
198-
fn evaluate_float(&self, flag_key: String, context: &PyDict, default_value: f64) -> PyResult<f64> {
199-
let state = self.state.as_ref()
200-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
201-
"No state loaded. Call update_state() first."
202-
))?;
203-
204-
let flag = state.flags.get(&flag_key)
205-
.ok_or_else(|| PyErr::new::<pyo3::exceptions::PyKeyError, _>(
206-
format!("Flag not found: {}", flag_key)
207-
))?;
223+
fn evaluate_float(
224+
&self,
225+
flag_key: String,
226+
context: &PyDict,
227+
default_value: f64,
228+
) -> PyResult<f64> {
229+
let state = self.state.as_ref().ok_or_else(|| {
230+
PyErr::new::<pyo3::exceptions::PyRuntimeError, _>(
231+
"No state loaded. Call update_state() first.",
232+
)
233+
})?;
234+
235+
let flag = state.flags.get(&flag_key).ok_or_else(|| {
236+
PyErr::new::<pyo3::exceptions::PyKeyError, _>(format!("Flag not found: {}", flag_key))
237+
})?;
208238

209239
let context_value: Value = pythonize::depythonize(context)?;
210240
let result = evaluate_float_flag(flag, &context_value, &state.flag_set_metadata);

src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ pub use storage::{
136136
};
137137
pub use validation::{validate_flags_config, ValidationError, ValidationResult};
138138

139-
140139
/// Re-exports for external access to allocation functions.
141140
///
142141
/// These are the primary memory management functions that should be used

0 commit comments

Comments
 (0)