1414 BeforeHookError ,
1515 AfterHookError ,
1616)
17+ from devcycle_python_sdk .models .eval_reason import (
18+ DefaultReasonDetails ,
19+ EvalReason ,
20+ EvalReasons ,
21+ )
1722from devcycle_python_sdk .models .eval_hook import EvalHook
1823from devcycle_python_sdk .models .eval_hook_context import HookContext
1924from devcycle_python_sdk .models .user import DevCycleUser
@@ -121,7 +126,9 @@ def variable(self, user: DevCycleUser, key: str, default_value: Any) -> Variable
121126 except NotFoundError :
122127 logger .warning (f"DevCycle: Variable not found: { key } " )
123128 return Variable .create_default_variable (
124- key = key , default_value = default_value
129+ key = key ,
130+ default_value = default_value ,
131+ default_reason_detail = DefaultReasonDetails .MISSING_VARIABLE ,
125132 )
126133 except BeforeHookError as e :
127134 self .eval_hooks_manager .run_error (context , e )
@@ -130,7 +137,9 @@ def variable(self, user: DevCycleUser, key: str, default_value: Any) -> Variable
130137 except Exception as e :
131138 logger .error (f"DevCycle: Error evaluating variable: { e } " )
132139 return Variable .create_default_variable (
133- key = key , default_value = default_value
140+ key = key ,
141+ default_value = default_value ,
142+ default_reason_detail = DefaultReasonDetails .ERROR ,
134143 )
135144 finally :
136145 self .eval_hooks_manager .run_finally (context , variable )
@@ -143,7 +152,9 @@ def variable(self, user: DevCycleUser, key: str, default_value: Any) -> Variable
143152 f"DevCycle: Variable { key } is type { type (variable .value )} , but default value is type { type (default_value )} " ,
144153 )
145154 return Variable .create_default_variable (
146- key = key , default_value = default_value
155+ key = key ,
156+ default_value = default_value ,
157+ default_reason_detail = DefaultReasonDetails .TYPE_MISMATCH ,
147158 )
148159
149160 return variable
0 commit comments