From b214a993da92497a0ade033777840cf0fb3e362c Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Mon, 3 May 2021 17:23:34 +0530 Subject: [PATCH] fix: disable reloading files in `__pycache__` directory --- frappe/app.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/frappe/app.py b/frappe/app.py index 794d0f18af..e7d619e92b 100644 --- a/frappe/app.py +++ b/frappe/app.py @@ -294,6 +294,7 @@ def serve(port=8000, profile=False, no_reload=False, no_threading=False, site=No _sites_path = sites_path from werkzeug.serving import run_simple + patch_werkzeug_reloader() if profile: application = ProfilerMiddleware(application, sort_by=('cumtime', 'calls')) @@ -324,3 +325,16 @@ def serve(port=8000, profile=False, no_reload=False, no_threading=False, site=No use_debugger=not in_test_env, use_evalex=not in_test_env, threaded=not no_threading) + +def patch_werkzeug_reloader(): + from werkzeug._reloader import WatchdogReloaderLoop + + trigger_reload = WatchdogReloaderLoop.trigger_reload + + def custom_trigger_reload(self, filename): + if os.path.basename(os.path.dirname(filename)) == "__pycache__": + return + + return trigger_reload(self, filename) + + WatchdogReloaderLoop.trigger_reload = custom_trigger_reload