Update app.py
Browse files
app.py
CHANGED
|
@@ -157,6 +157,20 @@ def validate_inputs():
|
|
| 157 |
return False, f"Missing fields: {', '.join(missing)}"
|
| 158 |
return True, ""
|
| 159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 160 |
# -------------------------------------------------------------------
|
| 161 |
# Live Logging Updater (Background Thread)
|
| 162 |
# -------------------------------------------------------------------
|
|
@@ -379,10 +393,11 @@ def stream_to_youtube(input_url, quality_settings, video_codec, audio_codec, out
|
|
| 379 |
logging.info("Streaming complete, resources cleaned up.")
|
| 380 |
streaming_state = "idle"
|
| 381 |
except Exception as e:
|
| 382 |
-
error_message = f"An error occurred during streaming: {str(e)}"
|
| 383 |
logging.error(error_message)
|
| 384 |
-
logging.error(traceback.format_exc())
|
| 385 |
streaming_state = "idle"
|
|
|
|
|
|
|
| 386 |
|
| 387 |
def start_streaming(chat_id):
|
| 388 |
global stream_thread, live_log_thread, stream_chat_id
|
|
@@ -414,16 +429,18 @@ def start_streaming(chat_id):
|
|
| 414 |
live_log_thread.start()
|
| 415 |
logging.info("Live log updater started.")
|
| 416 |
|
|
|
|
| 417 |
return {
|
| 418 |
"method": "sendMessage",
|
| 419 |
"chat_id": chat_id,
|
| 420 |
-
"text": "🚀 *Streaming initiated!* Use the inline keyboard to control the stream.",
|
| 421 |
"reply_markup": get_inline_keyboard_for_stream(),
|
| 422 |
"parse_mode": "Markdown"
|
| 423 |
}
|
| 424 |
except Exception as e:
|
| 425 |
error_message = f"Failed to start streaming: {str(e)}"
|
| 426 |
logging.error(error_message)
|
|
|
|
| 427 |
return send_guide_message(chat_id, error_message)
|
| 428 |
|
| 429 |
# -------------------------------------------------------------------
|
|
|
|
| 157 |
return False, f"Missing fields: {', '.join(missing)}"
|
| 158 |
return True, ""
|
| 159 |
|
| 160 |
+
# -------------------------------------------------------------------
|
| 161 |
+
# Notify Error Helper
|
| 162 |
+
# -------------------------------------------------------------------
|
| 163 |
+
def notify_error(chat_id, error_message):
|
| 164 |
+
payload = {
|
| 165 |
+
"chat_id": chat_id,
|
| 166 |
+
"text": f"⚠️ *Streaming Error Occurred:*\n\n{error_message}\n\nPlease check logs for details.",
|
| 167 |
+
"parse_mode": "Markdown"
|
| 168 |
+
}
|
| 169 |
+
try:
|
| 170 |
+
requests.post(f"{TELEGRAM_API_URL}/sendMessage", json=payload)
|
| 171 |
+
except Exception as e:
|
| 172 |
+
logging.error(f"Failed to notify error to user: {e}")
|
| 173 |
+
|
| 174 |
# -------------------------------------------------------------------
|
| 175 |
# Live Logging Updater (Background Thread)
|
| 176 |
# -------------------------------------------------------------------
|
|
|
|
| 393 |
logging.info("Streaming complete, resources cleaned up.")
|
| 394 |
streaming_state = "idle"
|
| 395 |
except Exception as e:
|
| 396 |
+
error_message = f"An error occurred during streaming: {str(e)}\n\n{traceback.format_exc()}"
|
| 397 |
logging.error(error_message)
|
|
|
|
| 398 |
streaming_state = "idle"
|
| 399 |
+
# Notify the user about the error using the logs
|
| 400 |
+
notify_error(chat_id, error_message)
|
| 401 |
|
| 402 |
def start_streaming(chat_id):
|
| 403 |
global stream_thread, live_log_thread, stream_chat_id
|
|
|
|
| 429 |
live_log_thread.start()
|
| 430 |
logging.info("Live log updater started.")
|
| 431 |
|
| 432 |
+
# Immediately show the live log (initial update will appear in 1 second)
|
| 433 |
return {
|
| 434 |
"method": "sendMessage",
|
| 435 |
"chat_id": chat_id,
|
| 436 |
+
"text": "🚀 *Streaming initiated!* Live logs are now updating below. Use the inline keyboard to control the stream.",
|
| 437 |
"reply_markup": get_inline_keyboard_for_stream(),
|
| 438 |
"parse_mode": "Markdown"
|
| 439 |
}
|
| 440 |
except Exception as e:
|
| 441 |
error_message = f"Failed to start streaming: {str(e)}"
|
| 442 |
logging.error(error_message)
|
| 443 |
+
notify_error(chat_id, error_message)
|
| 444 |
return send_guide_message(chat_id, error_message)
|
| 445 |
|
| 446 |
# -------------------------------------------------------------------
|