اسئلة واستفسارات python وبرمجة الاضافات ل TSmedia و TSiplayer

ستظهر لنا الاضافه في عمود الاضافات
screenshot-764.png


نذهب الى موقع moviflex قسم الافلام ونأخذ احد البلوكات التي ذكرناها في الشرح السابق
كود:
<article id="post-27617" class="item movies">
    <div class="poster">
        <a href="https://www.moviflex.net/movies/the-last-boy/"><img src="https://cdn.moviflex.net/wp-content/uploads/2019/01/ygUsgb6WSTZ4iyZJXpjswgngqBY-185x278.jpg" alt="The Last Boy"></a>
                <div class="rating"><span class="icon-star2"></span> 8</div>
                        <span class="quality">720p</span>    </div>
    <div class="data">
        <h3>
                <a href="https://www.moviflex.net/movies/the-last-boy/">The Last Boy</a>
        </h3>
                <span>2019</span>
            </div>
    <div class="animation-1 dtinfo">
    <div class="title">
        <i class="dt-movies"></i>
        The Last Boy    </div>
    <div class="texto">The world at an end, a dying mother sends her young son on a quest to find the place that grants wishes.

مشاهدة فيلم الدراما والخيال العلمي The Last Boy 2019 <div class="degradado"></div></div>
    <div class="rating">
 
        <div class="datareviews">
            <div class="datarating">
                <span class="rating-stars-a">
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                </span>
                <span class="rating-stars-b" style="width: 80%;">
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                    <i class="icon-star2"></i>
                </span>                 
            </div>
            <div class="rating_right">
            <span class="rating-value">8</span>
            <b>/1</b>
            </div>
        </div>
    </div>
</div>
</article>
نجد التقييم مذكور في هذا السطر
ننسخه لوضع جملة regular expresion
كود:
<span class="icon-star2"></span> 8</div>
نضع الرموز (.*?) مكان رقم 8
فتصبح جملة regular expression
كود:
regx='''<span class="icon-star2"></span>(.*?)</div>'''
نفتح كود def getmovies في اضافة moviflex في برنامج wTSmedia

screenshot-765.png

ونصيف جملة regular expression على الشكل التالي

كود:
                   try:#use try except because if rating not found the code continue to next line and not cause error
                              regx='''<span class="icon-star2"></span>(.*?)</div>'''#regular expression to extract movie rating

                              rating=re.findall(regx,block, re.M|re.I)[0]#execute regular expression
                              title=title+"-"+rating##add rating to the title of the movie
                              extra{"rating"}=rating##put rating value in dictionary called extra
                    except:
                              pass

نفعل نفس الشىء بالنسبه
الجوده quality
القصه description
السنه year
كود:
#<span class="quality">720p</span>
regx='''<span class="quality">(.*?)</span>''' #quality

#<span>2019</span>
 
regx='''<span>(.*?)</span>
'''#year

#<div class="texto">The world at an end, a dying mother sends her young son on a quest to find the place that grants wishes.

regx='''<div class="texto">(.*?).
'''#description,story
نضيف الاسطر التاليه في default.py بناء على ما ذكر
كود:
                    try:#use try except because if year not found the code continue to next line and not cause error
                              regx='''<span>(.*?)</span>
'''#year

                              rating=re.findall(regx,block, re.M|re.I)[0]#execute regular expression
                              title=title+"-"+year##add year to the title of the movie
                              extra{"year"}=year##put rating value in dictionary called extra
                    except:
                              pass
                   
                    try:
                              regx='''<span class="quality">(.*?)</span>''' #quality

                              quality=re.findall(regx,block, re.M|re.I)[0]#execute regular expression
                              title=title+"-"+quality##add quality to the title of the movie
                              extra{"quality"}=quality##put quality value in dictionary called extra
                    except:
                              pass


               
                    try:#use try except because if rating not found the code continue to next line and not cause error
                              regx='''<span class="icon-star2"></span>(.*?)</div>'''#regular expression to extract movie rating

                              rating=re.findall(regx,block, re.M|re.I)[0]#execute regular expression
                              title=title+"-"+rating##add rating to the title of the movie
                              extra{"rating"}=rating##put rating value in dictionary called extra
                    except:
                              pass
               



                    try:
                              regx='''<div class="texto">(.*?).
'''#description,story

                              desc=re.findall(regx,block, re.M|re.I)[0]#execute regular expression
                       
                    except:
                             desc=''

نضيف المعلومات في desc,extra الى جملة تخزين المعلومات addDir على الشكل التالي
كود:
addDir(title,href,1,image,name,1,extra=extra,desc=desc)

ننفذ الكود في wTSmedia فنحصل على خطأ نعرفه من خلال اللوغ log window
screenshot-767.png

الخطأ في طريقة حفظ القيم في لقاموس او dictionary
كود:
extra{"rating"}=   ##wrong
extra['rating']=   ##right
نصحح الكود وننفذه مره ثانيه
الصوره تشير الى انه تم تنفيذ الكود بنجاح
screenshot-769.png


ننقل نفس الكود الى قسم المسلسلات والبحث
في المرفقات default.py بعد اضافة الكود
يتبع.....
 

المرفقات

  • default.zip
    3,4 KB · المشاهدات: 23
التعديل الأخير:
الان اكتملت الاضافه بقي ان نعدل رقم الاصدار تمهيدا برفعه على السيرفر لكي تكون في متناول الجميع
من المنيو addon نختار edit addon نزيد رقم الاصدار ونعمل save
screenshot-770.png

screenshot-771.png

من نفس المنيو نختار make addon package فتحفظ الاضافه بصيغة zip file جاهزه للرفع على السيرفر للتنزيل والمشاهده
screenshot-773.png


الان اتممنا شرح الاساسيات في هذا الموضوع ولكن البداية الصحيحه ليس فقط الشرح وليس مطلوبا فهمه كله بل يكون مرجعا ليقصر مدة عملية التعلم
الشرح هدفه ان يجعل منظر كود البرمجه مالوفا وليس اسطر مزدحمه ليس لها اول من اخر.
التعلم الصحيح ان تبدا بكتابة الكود لاية اضافه والرجوع الى الشرح في حال وجود صعوبات.
بقي ان نورد بعض الامثله من الاضافات ونحللها .

new version wTSmedia
يتبع ....
المثال الاول
 
التعديل الأخير:
المثال الاول stardima
نأخذ مثالا على طلب من الاخوه
السلام عليكم;بارك الله فيكم على المجهودات
هل من الممكن إضافة موقع stardima.com للاطفال و شكرا جزيلا​
وهو موقع جيد للكرتون والانمي بروابط مباشره وجودات مختلفه
العمل سيكون كله على الويندوز من خلال wTSmedia 13.1.2
تكوين وانشاء الاضافه
من القائمه نفتح create new addon
sicon.png

بعد تعبئة المعلومات المطلوبه create addon
ثما get icon,fanart
يفتح الصور المتعلفه بالاضافه في google images
ننزل ثلاثة صور ونحفظها في

كود:
wTSmedia/tmp/new_addons/stardima
باسم icon.png 150*150
sicon.png 30*30
fanart.jpg1000*700
فيما بعد بواسطة imageoptimizer نعدلها حسب الحجم المطلوب
اخيرا done فتظهر الاضافه في عمود الاضافات
screenshot-164.png




يتبع......
تشكيل القائمه الرئيسيه
 
تشكيل القائمه الرئيسيه

screenshot-165.png


فيظهر لنا ملف default.py للتعديل عليه
نشكل القائمه الرئيسيه حسي ما ورد بالشرح بالاعلى
screenshot-167.png


نحضر الكلبيات الموجود في الموقع في def getmovies بتقسيم السورسكود الى بلوكات كما تم بالشرح بالاعلى
screenshot-168.png



احضار روابط بث للفيديوهات من خلال def getservers
ربما تكون هذه اصعب مرحله لانه لا توجد قاعده ثابته لذلك ناهيك انه عادة الروابط تكون محميه لذلك بالنسبه نسبة نجاحي في الحصول على الروابط لا تتجاوز 70 بالمئه وكثيرا ما الجأ الى اخي ياسين للمساعده في ذلك
في اضافتنا الروابط مباشره ولكن مخفيه ب java scripts وليس من السهل الحصول عليها ولكم بمساعدة google chrome developer tools استطعت الحصول على الروابط

screenshot-169.png


الان الاضافه جاهزه فقط اضافة الصورالمناسبه في مجلد img واستخدام imageoptimizer لتصغير حجم الصور الى 150*150
ننقل الاضافه الى الجهاز لتجربتها
screenshot-170.png


screenshot-171.png


screenshot-172.png

screenshot-174.png

screenshot-175.png


screenshot-177.png


screenshot-178.png

الاضافه الان موجوده على السيرفر لمن اراد تجربتها
الان انتهى الموضوع
سيفتح للتعليقات او الاسئله واذا لم يكن سينقل الى قسم الشروحات


 
يعطيك العافية على الشرح

نريد شرح على الاقسام

كما هو موجود في فاصل اعلاني

وطريقة استخراج الروابط في الاقسام الاخرى غير الافلام اذا ممكن
 
السلام عليكم ورحمة الله تعالى
حي الله أخي الكريم أن أكون أول المشاركين
حملت الملف moviflex وتركته على ما خطته اناملك ثم نصبت moviflex على البيئة winxp مع وجود C:\Python27
فتحت على بركة الله moviflex.exe
دخلت على moviflex ثم على الافلام وهنا المشكلة فلو تكرم اخي ذكر سبب المشكل كما هو ظاهر من خلال الصورة المرفقة في بداية ونهاية النافذة
حياك الله
مشاهدة المرفق 1027824
اهلا بك
تيدو المشكله ان openssl غير منصب على windows xp
لذلك لا يتم تنزيل معلومات الفلم
للاسف لم اجرب البرنامج على ويندوز xp لذلك لا اعرف مشاكله ولكن جميل ان عمل على xp

ضع الملف المرفق في العنوان التالي وجرب
كود:
E:\wTSmedia\scripts\script.module.main\lib\addon\common
 

المرفقات

  • net.zip
    3,6 KB · المشاهدات: 9
التعديل الأخير:
يعطيك العافية على الشرح

نريد شرح على الاقسام

كما هو موجود في فاصل اعلاني

وطريقة استخراج الروابط في الاقسام الاخرى غير الافلام اذا ممكن
الشرح عل كل الاقسام متشابه تقريبا هناك اختلاف بسيط في كود المسلسلات والافلام
ف مكونات القائمه الرئيسيه اما تتبع الافلام وتأخذ mode 100 واما المسلسلات وتأخذ mode 200
اما ما عداه سهل واي مشكله مع اي قسم اذكره ساوضحه
بالنسبه لفاصل اعلاني ساشرح غدا كيف احضار روابطه
 
الشرح عل كل الاقسام متشابه تقريبا هناك اختلاف بسيط في كود المسلسلات والافلام
ف مكونات القائمه الرئيسيه اما تتبع الافلام وتأخذ mode 100 واما المسلسلات وتأخذ mode 200
اما ما عداه سهل واي مشكله مع اي قسم اذكره ساوضحه
بالنسبه لفاصل اعلاني ساشرح غدا كيف احضار روابطه

بانتظارك

اقصد التفرع بالاقسام سوف اضع ملف لكي تراه اخي في الغد لوجودي في العمل
 
اهلا بك
تيدو المشكله ان openssl غير منصب على windows xp
لذلك لا يتم تنزيل معلومات الفلم
للاسف لم اجرب البرنامج على ويندوز xp لذلك لا اعرف مشاكله ولكن جميل ان عمل على xp

ضع الملف المرفق في العنوان التالي وجرب
كود:
E:\wTSmedia\scripts\script.module.main\lib\addon\common
السلام عليكم
للاسف نفس المشكل ... بالنسبة لـ winxp
لكن لا عليك ياغالي تم تصطيبه على البيئة win10 prof وهو يعمل بامتياز هنيئا لنا بك وبهذا الانجاز
حياك الله وبياك
 
هذا الملف

نريد شرح لو تكرمت لتشغيله
 

المرفقات

  • default.rar
    3,9 KB · المشاهدات: 8
أعلى