diff --git a/pricing/__pycache__/init.cpython-310.pyc b/pricing/__pycache__/init.cpython-310.pyc new file mode 100644 index 0000000..55003f1 Binary files /dev/null and b/pricing/__pycache__/init.cpython-310.pyc differ diff --git a/pricing/__pycache__/pricing.cpython-310.pyc b/pricing/__pycache__/pricing.cpython-310.pyc new file mode 100644 index 0000000..c2eb798 Binary files /dev/null and b/pricing/__pycache__/pricing.cpython-310.pyc differ diff --git a/pricing/init.py b/pricing/init.py index 4961111..2d1e45b 100644 --- a/pricing/init.py +++ b/pricing/init.py @@ -35,6 +35,9 @@ def load_pricing(): env.load_pricing_data = PricingProgram.load_pricing_data env.get_pricing_program = PricingProgram.get_pricing_program env.test_pricing = test_pricing + # Bind hot_reload event — staticmethod, ref safe (stored on class) + if hasattr(env, 'event_dispatcher'): + env.event_dispatcher.bind('hot_reload', PricingProgram.on_hot_reload) dbpools = DBPools() dbname = env.get_module_dbname('pricing') if dbname: diff --git a/pricing/pricing.py b/pricing/pricing.py index bbee251..1391b02 100644 --- a/pricing/pricing.py +++ b/pricing/pricing.py @@ -186,6 +186,11 @@ def data_mapping(ns, name, v): class PricingProgram: pricing_data = {} + @staticmethod + def on_hot_reload(data=None): + """Event handler for hot_reload event. Clears pricing cache.""" + PricingProgram.pricing_data.clear() + @staticmethod async def get_pricing_program(ppid): env = ServerEnv() diff --git a/wwwroot/pricing_item/index.ui b/wwwroot/pricing_item/index.ui index faf1e36..9ef422a 100644 --- a/wwwroot/pricing_item/index.ui +++ b/wwwroot/pricing_item/index.ui @@ -1,7 +1,7 @@ { "widgettype": "VBox", "options": { - "cheight": 40, + "css": "filler", "height": "100%", "width": "100%" }, "subwidgets": [