pushar / app.py
mostafasmart's picture
add app.py11
c7367ef
import gradio as gr
import pusher
import json
# تهيئة Pusher مرة واحدة
pusher_client = pusher.Pusher(
app_id='1853840',
key= 'a1a5cbeadb52b107ea69' ,
secret='29b058c83b90d893cfbb',
cluster='eu',
ssl=True
)
# # الدالة التي تستقبل الرسالة وترسلها إلى Pusher
# def predict(message_json):
# # تحويل المدخلات إلى JSON
# try:
# message = json.loads(message_json)
# # استخدام Pusher لإرسال الرسالة
# pusher_client.trigger(f'conversation-{message["conversation_id"]}', 'new-message', {
# 'message': message
# })
# return "تم إرسال الرسالة بنجاح إلى Pusher!"
# except Exception as e:
# return f"{message_json}"
def predict(message_json):
try:
# استخراج الرسالة كـ string من القائمة
message_str = message_json.decode('utf-8') # الحصول على العنصر الأول من القائمة
# تحويل الـ string إلى كائن JSON
message = json.loads(message_str[0]) # استبدال ' بـ " لجعل JSON صالحًا
# استخدام Pusher لإرسال الرسالة
pusher_client.trigger(f'conversation-{message["conversation_id"]}', 'new-message', {
'message': message
})
return "تم إرسال الرسالة بنجاح إلى Pusher!"
except Exception as e:
return f"{message_str} \n {message}"
# إعداد واجهة Gradio
iface = gr.Interface(
fn=predict,
inputs=gr.Textbox(lines=10, placeholder="أدخل رسالة JSON هنا...", label="Message JSON"),
outputs="text",
title="Real-time Message Sender",
description="واجهة لاستقبال رسالة JSON وإرسالها عبر Pusher"
)
# تشغيل الواجهة
iface.launch(share=True)