|
|
|
|
|
|
|
""" |
|
وحدة الاتصال بقاعدة البيانات |
|
""" |
|
|
|
import os |
|
import sys |
|
import psycopg2 |
|
from dotenv import load_dotenv |
|
|
|
|
|
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) |
|
|
|
|
|
load_dotenv() |
|
|
|
def get_connection(): |
|
""" |
|
إنشاء اتصال بقاعدة البيانات |
|
|
|
الإرجاع: |
|
اتصال بقاعدة البيانات |
|
""" |
|
try: |
|
|
|
conn = psycopg2.connect( |
|
dbname=os.getenv("PGDATABASE"), |
|
user=os.getenv("PGUSER"), |
|
password=os.getenv("PGPASSWORD"), |
|
host=os.getenv("PGHOST"), |
|
port=os.getenv("PGPORT") |
|
) |
|
return conn |
|
except Exception as e: |
|
print(f"خطأ في الاتصال بقاعدة البيانات: {e}") |
|
|
|
|
|
import os |
|
import sqlite3 |
|
|
|
|
|
data_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'data') |
|
os.makedirs(data_dir, exist_ok=True) |
|
|
|
|
|
db_path = os.path.join(data_dir, 'local_db.sqlite') |
|
conn = sqlite3.connect(db_path) |
|
|
|
|
|
conn.execute = conn.cursor().execute |
|
|
|
|
|
original_close = conn.close |
|
def enhanced_close(): |
|
conn.commit() |
|
original_close() |
|
conn.close = enhanced_close |
|
|
|
return conn |