Spaces:
Sleeping
Sleeping
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) | |