11# Standard library imports
22import os
3+ from typing import Dict , Any , Optional
34
45# Third party imports
56import vtk
1112
1213
1314class VtkView (vtk_protocols .vtkWebProtocol ):
14- def __init__ (self ):
15+ def __init__ (self ) -> None :
1516 super ().__init__ ()
1617 self .DATA_FOLDER_PATH = os .getenv ("DATA_FOLDER_PATH" )
1718 self .DATABASE_PATH = os .getenv ("DATABASE_PATH" )
1819 self .DataReader = vtk .vtkXMLPolyDataReader ()
1920 self .ImageReader = vtk .vtkXMLImageDataReader ()
2021
21- def get_data_base (self ) -> dict :
22+ def get_data_base (self ) -> Dict [ str , Any ] :
2223 return self .getSharedObject ("db" )
2324
24- def get_data (self , data_id ) :
25+ def get_data (self , data_id : str ) -> Dict [ str , Any ] :
2526 if Data is None :
2627 raise Exception ("Data model not available" )
2728
@@ -47,33 +48,37 @@ def get_data(self, data_id):
4748 print (f"Error fetching data { data_id } : { e } " )
4849 raise
4950
50- def get_data_file_path (self , data_id : str , filename = None ) -> str :
51+ def get_data_file_path (self , data_id : str , filename : Optional [ str ] = None ) -> str :
5152 if filename is None :
5253 data = self .get_data (data_id )
5354 filename = data ["viewable_file_name" ]
5455
55- return os .path .join (self .DATA_FOLDER_PATH , data_id , filename )
56+ data_folder_path = self .DATA_FOLDER_PATH
57+ if data_folder_path is None :
58+ raise Exception ("DATA_FOLDER_PATH environment variable not set" )
59+
60+ return os .path .join (data_folder_path , data_id , filename )
5661
57- def get_renderer (self ):
62+ def get_renderer (self ) -> Any :
5863 return self .getSharedObject ("renderer" )
5964
60- def get_object (self , id ) :
65+ def get_object (self , id : str ) -> Any :
6166 return self .get_data_base ()[id ]
6267
63- def get_protocol (self , name ) :
68+ def get_protocol (self , name : str ) -> Any :
6469 for p in self .coreServer .getLinkProtocols ():
6570 if type (p ).__name__ == name :
6671 return p
6772
68- def render (self , view = - 1 ):
73+ def render (self , view : int = - 1 ) -> None :
6974 if "grid_scale" in self .get_data_base ():
7075 renderer = self .get_renderer ()
7176 renderer_bounds = renderer .ComputeVisiblePropBounds ()
7277 grid_scale = self .get_object ("grid_scale" )["actor" ]
7378 grid_scale .SetBounds (renderer_bounds )
7479 self .getSharedObject ("publisher" ).imagePush ({"view" : view })
7580
76- def register_object (self , id , reader , filter , actor , mapper , textures ) :
81+ def register_object (self , id : str , reader : Any , filter : Any , actor : Any , mapper : Any , textures : Any ) -> None :
7782 self .get_data_base ()[id ] = {
7883 "reader" : reader ,
7984 "filter" : filter ,
@@ -82,6 +87,6 @@ def register_object(self, id, reader, filter, actor, mapper, textures):
8287 "textures" : textures ,
8388 }
8489
85- def deregister_object (self , id ) :
90+ def deregister_object (self , id : str ) -> None :
8691 if id in self .get_data_base ():
8792 del self .get_data_base ()[id ]
0 commit comments