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) | |