|
""" |
|
مدير تكوين تطبيق 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 |
|
|