File size: 1,330 Bytes
6a07b65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""
مدير تكوين تطبيق 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