@@ -114,8 +114,8 @@ def jupyter_dump(self):
114114 "import os\n "
115115 "import threading\n "
116116 f"import { self .marshaller } \n "
117- "from jumper.userpersistence import dump_runtime, dump_variables, BusySpinner \n "
118- "spinner = BusySpinner ()\n "
117+ "from jumper.userpersistence import dump_runtime, dump_variables, create_busy_spinner \n "
118+ "spinner = create_busy_spinner ()\n "
119119 f"if { self .is_dump_detailed_report } :\n "
120120 " spinner.start('Dumping runtime environment and sys.path...')\n "
121121 f"else:\n "
@@ -394,8 +394,26 @@ def magics_cleanup(code):
394394 return scorep_env , nomagic_code
395395
396396
397- class BusySpinner :
397+ class BaseSpinner :
398398 def __init__ (self , lock = None ):
399+ pass
400+
401+ def _spinner_task (self ):
402+ pass
403+
404+ def start (self , working_message = 'Working...' ):
405+ pass
406+
407+ def report (self , done_message = 'Done.' ):
408+ pass
409+
410+ def stop (self , done_message = 'Done.' ):
411+ pass
412+
413+
414+ class BusySpinner (BaseSpinner ):
415+ def __init__ (self , lock = None ):
416+ super ().__init__ (lock )
399417 self ._lock = lock or threading .Lock ()
400418 self ._stop_event = threading .Event ()
401419 self ._thread = threading .Thread (target = self ._spinner_task )
@@ -426,3 +444,12 @@ def stop(self, done_message='Done.'):
426444 self .report (done_message )
427445 self ._stop_event .set ()
428446 self ._thread .join ()
447+
448+
449+ def create_busy_spinner (lock = None ):
450+ is_enabled = os .getenv ("DISABLE_PROCESSING_ANIMATIONS" ) != "1"
451+ if is_enabled :
452+ return BusySpinner (lock )
453+ else :
454+ return BaseSpinner (lock )
455+
0 commit comments