@@ -33,7 +33,8 @@ def _fmt(msg, level="INFO"):
3333
3434def get_var_dir ():
3535 parser = argparse .ArgumentParser (add_help = False )
36- parser .add_argument ("--var-dir" , default = "/data" )
36+ default = "/data" if os .environ .get ("IN_DOCKER" ) else os .path .dirname (os .path .dirname (os .path .abspath (__file__ )))
37+ parser .add_argument ("--var-dir" , default = default )
3738 args , _ = parser .parse_known_args ()
3839 return args .var_dir
3940
@@ -96,7 +97,13 @@ def stream():
9697
9798 def generate ():
9899 while not os .path .exists (log_path ):
99- yield f"data: { _fmt (f'Waiting for log file: { log_path } ' )} \n \n "
100+ config = configparser .ConfigParser ()
101+ config .read (get_config_path (get_var_dir ()))
102+ log_to_file = config .getboolean ("Logging" , "log_to_file" , fallback = False )
103+ if not log_to_file :
104+ yield f"data: { _fmt ('Log file not found. Make sure log_to_file = True is set in your config.ini' )} \n \n "
105+ else :
106+ yield f"data: { _fmt (f'Waiting for log file: { log_path } ' )} \n \n "
100107 time .sleep (5 )
101108 with open (log_path , "r" ) as f :
102109 for line in f :
@@ -120,7 +127,8 @@ def generate():
120127
121128if __name__ == "__main__" :
122129 parser = argparse .ArgumentParser (description = "Soularr Web UI" )
123- parser .add_argument ("--var-dir" , default = "/data" , help = "Directory containing config.ini and soularr.log" )
130+ default = "/data" if os .environ .get ("IN_DOCKER" ) else os .path .dirname (os .path .dirname (os .path .abspath (__file__ )))
131+ parser .add_argument ("--var-dir" , default = default , help = "Directory containing config.ini and soularr.log" )
124132 parser .add_argument ("--port" , type = int , default = 8265 , help = "Port to listen on (default: 8265)" )
125133 parser .add_argument ("--host" , default = "0.0.0.0" , help = "Host to bind to (default: 0.0.0.0)" )
126134 args = parser .parse_args ()
0 commit comments