| """ | |
| مدير تكوين تطبيق Streamlit | |
| يستخدم لمنع استدعاء set_page_config() أكثر من مرة في التطبيق | |
| """ | |
| class ConfigManager: | |
| """مدير تكوين التطبيق لمنع استدعاء set_page_config() أكثر من مرة""" | |
| _instance = None | |
| _page_config_set = False | |
| def __new__(cls): | |
| if cls._instance is None: | |
| cls._instance = super(ConfigManager, cls).__new__(cls) | |
| return cls._instance | |
| def set_page_config_if_needed(self, **kwargs): | |
| """ | |
| تعيين تكوين الصفحة إذا لم يتم تعيينه بالفعل | |
| المعلمات: | |
| **kwargs: معلمات لدالة st.set_page_config() | |
| العوائد: | |
| bool: True إذا تم تعيين التكوين، False إذا كان التكوين معينًا بالفعل | |
| """ | |
| import streamlit as st | |
| if not ConfigManager._page_config_set: | |
| st.set_page_config(**kwargs) | |
| ConfigManager._page_config_set = True | |
| return True | |
| return False | |
| def is_page_config_set(self): | |
| """التحقق مما إذا كان تكوين الصفحة قد تم تعيينه بالفعل""" | |
| return ConfigManager._page_config_set | |