25 lines
		
	
	
		
			719 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			719 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | |
| import secrets
 | |
| 
 | |
| import toml
 | |
| 
 | |
| CONFIG_FILE = "config.toml"
 | |
| 
 | |
| 
 | |
| def load_or_create_config():
 | |
|     if not os.path.exists(CONFIG_FILE):
 | |
|         admin_password = secrets.token_urlsafe(16)
 | |
|         config = {
 | |
|             "admin": {"password": admin_password},
 | |
|             "directories": {"upload": "uploads", "thumbnail": "thumbnails"},
 | |
|             "appearance": {"accent_color": "#ff6600"},
 | |
|             "server": {"host": "0.0.0.0", "port": 5002},
 | |
|         }
 | |
|         with open(CONFIG_FILE, "w") as f:
 | |
|             toml.dump(config, f)
 | |
|         print(f"Generated new config file with admin password: {admin_password}")
 | |
|     else:
 | |
|         with open(CONFIG_FILE, "r") as f:
 | |
|             config = toml.load(f)
 | |
|     return config
 |