#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
"""حزمة المساعدات العامة المستخدمة في النظام""" | |
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import os | |
import sqlite3 | |
from .utils import ( | |
create_directory_if_not_exists, | |
get_data_folder, | |
format_time, | |
get_user_info, | |
load_css, | |
render_credits, | |
load_icons, | |
format_number, | |
format_currency, | |
styled_button, | |
filter_dataframe, | |
get_file_extension, | |
extract_numbers_from_text | |
) | |
def get_connection(): | |
""" | |
إنشاء اتصال وهمي لقاعدة البيانات للاستخدام عند عدم توفر اتصال PostgreSQL | |
الإرجاع: | |
اتصال وهمي لقاعدة البيانات | |
""" | |
# إنشاء مجلد البيانات إذا لم يكن موجوداً | |
data_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'data') | |
os.makedirs(data_dir, exist_ok=True) | |
# إنشاء اتصال قاعدة بيانات SQLite محلية | |
db_path = os.path.join(data_dir, 'local_db.sqlite') | |
conn = sqlite3.connect(db_path) | |
# إعادة محاكاة سلوك اتصال PostgreSQL | |
conn.execute = conn.cursor().execute | |
# إضافة وظيفة وهمية للاقتطاع (commit) والإغلاق | |
original_close = conn.close | |
def enhanced_close(): | |
conn.commit() | |
original_close() | |
conn.close = enhanced_close | |
return conn | |
__all__ = [ | |
'create_directory_if_not_exists', | |
'get_data_folder', | |
'format_time', | |
'get_user_info', | |
'load_css', | |
'render_credits', | |
'load_icons', | |
'format_number', | |
'format_currency', | |
'styled_button', | |
'filter_dataframe', | |
'get_file_extension', | |
'extract_numbers_from_text', | |
'get_connection' | |
] |