import os import time import subprocess import threading import requests from datetime import datetime, timedelta from flask import Flask, jsonify # ========================================== # الإعدادات الأساسية # ========================================== STREAM_KEY = os.environ.get("STREAM_KEY") STREAM_URL = "rtmp://a.rtmp.youtube.com/live2/" BG_IMAGE = "https://images.unsplash.com/photo-1555400038-63f5ba517a47?q=80&w=1920&auto=format&fit=crop" TICK_SOUND_FILE = "time.mp3" app = Flask(__name__) def get_current_status(): try: res = requests.get("http://api.aladhan.com/v1/timingsByCity?city=Mecca&country=SA&method=4", timeout=5) data = res.json()['data'] hijri_date = data['date']['hijri'] date_str = hijri_date['date'] h_day = int(hijri_date['day']) h_month = int(hijri_date['month']['number']) h_year = int(hijri_date['year']) status = "" target_date_gregorian = None msg = "" if h_month == 9: status = "ramadan_live" msg = "جاء رمضان.. مبارك عليكم الشهر" elif h_month == 10 and h_day <= 3: status = "eid_live" msg = "عيد مبارك - كل عام وأنتم بخير" else: status = "counting" target_h_year = h_year if h_month < 9 else h_year + 1 conv_res = requests.get(f"http://api.aladhan.com/v1/hToG?date=01-09-{target_h_year}", timeout=5) g_data = conv_res.json()['data']['gregorian'] target_date_gregorian = datetime.strptime(g_data['date'], "%d-%m-%Y") return {"status": status, "msg": msg, "hijri_str": date_str, "target_date": target_date_gregorian} except: return {"status": "counting", "msg": "", "hijri_str": "1447-09-01", "target_date": datetime(2026, 2, 18, 0, 0, 0)} @app.route('/time_data') def time_data(): current_state = get_current_status() if current_state['status'] in ['ramadan_live', 'eid_live']: return jsonify({"status": "finished", "msg": current_state['msg'], "hijri": current_state['hijri_str']}) diff = current_state['target_date'] - datetime.now() if diff.total_seconds() <= 0: return jsonify({"status": "loading", "hijri": current_state['hijri_str']}) days = diff.days hours, rem = divmod(diff.seconds, 3600) minutes, seconds = divmod(rem, 60) return jsonify({"status": "counting", "days": f"{days:02}", "hours": f"{hours:02}", "minutes": f"{minutes:02}", "seconds": f"{seconds:02}", "hijri": current_state['hijri_str']}) @app.route('/') def home(): html_content = """