مشاكل واسئلة التطوير من python2 الى python3

السلام عليكم ورحمة الله وبركاته
جمعة مباركه عليكم ان شاء الله

قمت بتحويل بلوجين اكسترا ايفنت وكذلك IMDP
على الصورة OPENATV 7.0
عند الدخول الي قائمة البلوجينات لاتظهر الإضافة ويعطى الرساله الرفق صورتها .... مع انه موجود الملف xtra بالمسار الظاهر بالصورة ومحول الي بايثون 3

XXXXXXX.jpg


هل ممكن الاشارة اين الخطأ
 

المرفقات

  • IMDb.zip
    104,2 KB · المشاهدات: 0
  • xtraEvent.zip
    261,9 KB · المشاهدات: 6
التعديل الأخير:
السلام عليكم
لقد قمت بي تحويل بلجن suptv ال python3
لقد واجهة مشكلة عند محاولة التفعيل

كود:
[ePyObject] (PyObject_CallObject(<bound method Session.processDelay of <__main__.Session object at 0xa9e41820>>,()) failed)
هذا بلجن مدفوع الاجر اخي محمد ويتعارض مع قوانين القسم يجب الرجوع لمصدره لتعديله ... إذا أراد أحد المساعدة فليقدمها انا لن اتدخل في احتساب مخالفات توقفت عن الأمور اﻹدارية

السلام عليكم ورحمة الله وبركاته
جمعة مباركه عليكم ان شاء الله

قمت بتحويل بلوجين اكسترا ايفنت وكذلك IMDP
على الصورة OPENATV 7.0
عند الدخول الي قائمة البلوجينات لاتظهر الإضافة ويعطى الرساله الرفق صورتها .... مع انه موجود الملف xtra بالمسار الظاهر بالصورة ومحول الي بايثون 3

مشاهدة المرفق 1599584

هل ممكن الاشارة اين الخطأ

الملف موجود كما تقول نعم ولكن اكيد به اخطاء ويحتاج الى تعديل حتى يعمل .. إذا كان به أخطاء فلن يتكون ملف العمل في مجلد __pycache__ او حتى لو تكون يكون وجوده من عدمه لانه لا يعمل ... فالبلجن لن يستطيع جلب المعلوماته المطلوبة منه ...

هل تمتلك خبرة في مجال البايثون ؟!! لانه إذا (لا) فكيف سوف تعدل البلجن ليدعم py3 بدون معرفة py2 !!!
 
الملف موجود كما تقول نعم ولكن اكيد به اخطاء ويحتاج الى تعديل حتى يعمل .. إذا كان به أخطاء فلن يتكون ملف العمل في مجلد __pycache__ او حتى لو تكون يكون وجوده من عدمه لانه لا يعمل ... فالبلجن لن يستطيع جلب المعلوماته المطلوبة منه ...

هل تمتلك خبرة في مجال البايثون ؟!! لانه إذا (لا) فكيف سوف تعدل البلجن ليدعم py3 بدون معرفة py2 !!!
تم اتباع التصحيحات من ostende للتعديل على الملف xtra.py
 
لا تتبع أي تعديلات من اي مكان لأي شيء .. بدون فهمها ... فقط قص ولصق ... وبعدين ماذا ؟!
لن تستفيد شيء لن تطور من نفسك ... يجب فهم لغة البايثون ولو بشكل بسيط وتطبيق امثله وبعدها سوف تعرف لماذا هذا الكود تغير ولماذا هذا تم إستبداله مكان هذا ..

وعليك اليوتيوب و جوجل للبحث عن دروس البايثون ...
 
السلام عليكم ورحمة الله
حمى ترقية البوغينات الى py3 هاج :sm-think: لكن باستعمال سكريبتات و روابط تشتغل بذلك .... جميل ... لكن هذه التغييرات أراها جد سطحية كحال print
لكن المهم كـــــ
from,import,string,......... لا أجدها ولسبب بسيط
مثلا from , import عند التغيير .... كيف للمتغير ان يعلم مسار الملفات وأن الملف الهدف موجود في نفس المجلد أو في مجلد آخر أو هو في مجلد خارجي
اوضح لكم
ماذا تعني . النقطة في import
كود:
from . import xtra
تعني بلغة py2
كود:
import xtra
نفرض وجود مجلد باسم COCO بداخله ملفات py.
إذا كان الملف خارج الملف COCO و اريد استدعاء شيئا من داخله
أكتب
كود:
from .COCO.اسم الملف import واش راك اتحوس
أما إذا كنت داخل وتريد استدعاء ملف خارجه
حينها يجب أن تكتب ....... هههههه ابحث عنها

هذا بعض ما أقصده كمثال لكلامي
Python:
# -*- coding: utf-8 -*-
# by digiteng...([email protected])
# https://github.com/digiteng/
# 06.2020 - 11.2020(v2.0)
from __future__ import print_function
from __future__ import absolute_import
from Plugins.Plugin import PluginDescriptor
from Components.config import config
import threading
import importlib  ############### NEW
#import xtra ############### OLD
#import download############### OLD
from . import xtra ############### NEW
from . import download ############### NEW

def ddwn():
    if config.plugins.xtraEvent.timerMod.value == True:
        download.downloads("").save()
    if config.plugins.xtraEvent.timerMod.value == True:
        tmr = config.plugins.xtraEvent.timer.value
        t = threading.Timer(3600*int(tmr), ddwn) # 1h=3600
        t.start()
if config.plugins.xtraEvent.timerMod.value == True:
    threading.Timer(30, ddwn).start()

def main(session, **kwargs):
    # reload(xtra)############### OLD
    # reload(download)############### OLD
    importlib.reload(xtra) ############### NEW
    importlib.reload(download) ############### NEW
    try:
        session.open(xtra.xtra)
    except:
        import traceback
        traceback.print_exc()
أرجو أن يعذرني اخوتي الأفاضل إن قلت التغيير للتغيير لن ينفعك كما سبقني لذلك الغالي حسين
خاصة أن ملفات الكراش في openatv التي تعمل بــ py3 شحيحة حتى أنها بخيلة في توضيح المشكل
معرفتك بــ py2 تفيد ............

XXXXXXT.jpg
 
التعديل الأخير:
السلام عليكم
لقد قمت بي تحويل بلجن suptv ال python3
لقد واجهة مشكلة عند محاولة التفعيل

كود:
[ePyObject] (PyObject_CallObject(<bound method Session.processDelay of <__main__.Session object at 0xa9e41820>>,()) failed)

عدلت عليه وشغال عندي عادي
 
السلام عليكم ورحمة الله
التعديل بالسكريبت وحده لا يكفي حتى أنه لا يفي بالغرض لعديد المعادلات التي يجب تغييرها باليد ومتابعتها
ماتحيرش اذا لم يعمل معك اذا استعملت السكريبت
استعمال re للبحث عن regex
من خلال معلوماتي الاولية
على py2
يكفي
Python:
title =  re.findall('loading="lazy" alt="(.+?)"',block)[0]
لكن على py3
تعطي الخطأ
كود:
TypeError: cannot use a string pattern on a bytes-like object
التصحيح كما اشار اليه الغالي أخي محمود
Python:
title =  re.findall(b'loading="lazy" alt="(.+?)"',block)[0]
نفس الشيئ بالنسبة لـــــ ()split
Python:
blocks = data.split(b'<div class="table card-h _crds">')
أحيانا تكون نتيجة البحث عن رابط من خلال regex يأتيك الرابط بصيغة
Python:
url =  b'https://suratmp3.com/quran/reciters/10'
تغييره الى الصيغة التي يقبلها القارئ
كود:
url = url.decode()
ليصبح
كود:
url =  'https://suratmp3.com/quran/reciters/10'


الى معلومات جديدة بحول الله تعالى
 
التعديل الأخير:
السلام عليكم ورحمة الله
اضافة لما كتبته أعلاه فيما يخص
-- استعمال re للبحث عن regex --
بعد تجربتي القاصرة مع البلوغين -- أنصت للقرآن الكريم -- اللغة العربية قد تغير من المعطيات
بالمثال يتضح المقال
مثلا اثناء بحثي عن الدعاء على تقدير كلامي أعلاه يكون البحث على الطريقة
Python:
Dooa = re.findall(b'<h3>دعاء اليوم </h3>(.+?)</div>',data,re.S)[0]
لكن هذا يعطي -- خطأ --
لكن تعديله الى الصيغة
Python:
Dooa = re.findall('<h3>دعاء اليوم </h3>(.+?)</div>'.encode('utf-8'),data,re.S)[0].decode('utf-8')
يفي بالغرض , وعليه يجب مراعاة لغة البحث
هذا والعلم لله تعالى
 
open atv 7 علي دريم بكس 900 عند عمل blind scan يحدث كراش مرفق اللوج فايل
 

المرفقات

  • enigma2_crash_1626422442.rar
    12,7 KB · المشاهدات: 2
open atv 7 علي دريم بكس 900 عند عمل blind scan يحدث كراش مرفق اللوج فايل
ياك الله يا غالي
هنا أخي العزيز .... الموضوع مخصص لخصائص pythno3
للملاحظ :- ملفات الكراش البيانات فيها لا تزيد على العبارة
كود:
[ePyObject] (PyObject_CallObject(<bound method NumberActionMap.action of <Components.ActionMap.NumberActionMap object at 0xae5a2898>>,('OkCancelActions', 'ok')) failed)
وهذه لا توضح الا مشكل واحد هو :- الدخول على ماتريد الدخول عليه فيه خطأ لسبب لا يعينه ملف الكراش
قل أن ملفات الكراش لا تسمن ولا تغني شيئا الساعة ...... الى أن يتم تصحيح مشكل ملفات الكراش أو أن تكون قادرا على ايجاد مشاكل السكرين الذي تريد الدخول عليه
أخوك
 
أعلى