اذهب إلى المحتوى

السؤال

نشر

أهلا ومرحبا.

حدثت هذه المشكلة منذ أسبوع أو نحو ذلك. عندما أحاول بدء برنامجي ، وهو برنامج لمشاهدة وتنزيل مقاطع فيديو YouTube ، أرى هذا الخطأ:

 

Exception in thread Thread-4:
Traceback (most recent call last):
  File "C:\Users\ibraheem\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\ibraheem\AppData\Local\Programs\Python\Python38\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\gui\activity_dialog.py", line 34, in run
    raise e
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\gui\activity_dialog.py", line 30, in run
    self.res = self.function(*self.args, **self.kwargs)
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\utiles.py", line 27, in get_video_stream
    for stream in media.streams:
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\pafy\backend_shared.py", line 160, in streams
    self._process_streams()
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\pafy\backend_youtube_dl.py", line 83, in _process_streams
    allstreams = [YtdlStream(z, self) for z in self._ydl_info['formats']]
Traceback (most recent call last):
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\pafy\backend_youtube_dl.py", line 83, in <listcomp>
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\youtube_browser\browser.py", line 182, in <lambda>
    allstreams = [YtdlStream(z, self) for z in self._ydl_info['formats']]
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\pafy\backend_youtube_dl.py", line 107, in __init__
    self.searchResults.Bind(wx.EVT_MENU, lambda event: self.playVideo(), id=self.videoPlayItemId)
    self._rawbitrate = info.get('abr', 0) * 1024
  File "C:\Users\ibraheem\Downloads\YoutubeDownloader\source\youtube_browser\browser.py", line 134, in playVideo
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
    stream = LoadingDialog(self, _("starting..."), get_video_stream, url).res
AttributeError: 'LoadingDialog' object has no attribute 'res'

 

Recommended Posts

  • 0
نشر

 خطأ "TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'" يعني أنك تحاول ضرب كائن من نوع NoneType برقم صحيح، يحدث هذا إذا كانت وظيفة get_video_stream() تُرجع كائنًا من نوع NoneType.

تُستخدم وظيفة get_video_stream() بواسطة وظيفة playVideo() للحصول على قائمة بجميع تيارات الفيديو المتاحة لفيديو YouTube.

وتستخدم وظيفة get_video_stream() مكتبة pafy للحصول على معلومات حول فيديو YouTube.

تم تحديث مكتبة pafy مؤخرًا، ومن الممكن أن تكون وظيفة get_video_stream() غير متوافقة مع الإصدار الجديد من المكتبة.

ولإصلاح الخطأ، يمكنك محاولة تحديث مكتبة pafy، وأيضًا محاولة استخدام مكتبة مختلفة للحصول على معلومات حول مقاطع فيديو YouTube.

أولاً قم بتحديث مكتبة pafy عن طريق تشغيل الأمر التالي في موجه الأوامر:

pip install --upgrade pafy

ثانيًا جرب استخدام مكتبة مختلفة للحصول على معلومات حول مقاطع فيديو YouTube، وهناك العديد من المكتبات المتاحة، مثل youtube-dl و pytube.

  • 0
نشر

هل يمكنك مشاركة بعض التفاصيل حول المشكلة؟ مثلاً هل تحدث عند محاولتك تنزيل أي فيديو؟ أو القيام بأي عملية؟ أو منذ فتحك للبرنامج قبل القيام بأي شي؟

أيضاً قد يكون من المفيد ذكر أي عملية تحديث قمت بها للمكاتب أو للكود خلال هذه الفترة.

و في حال كان من الممكن إرفاق ملفات الكود على شكل ملف مضغوط فسيكون ذلك جيداً.

تحياتي.

  • 0
نشر

يبدو أن المشكلة في الملف "browser.py" والملف "utils.py".

تبدو الأخطاء تنشأ من تحديثات أو تعديلات على الكود. إحدى الأخطاء تشير إلى أنه تم استخدام نوع غير صالح لعملية الضرب "unsupported operand type(s) for *: 'NoneType' and 'int'"، والأخرى تشير إلى أن الكائن "LoadingDialog" ليس لديه السمة "res".

يجب عليك التحقق من الملفات "browser.py" و "utils.py"، وتأكد من صحة الأكواد الموجودة في السطور المشار إليها في رسالة الخطأ. قد يكون هناك خطأ في التعامل مع المتغيرات أو إعطاء قيم غير صحيحة للعمليات الحسابية.

قم بمراجعة وتحليل الكود المذكور في الأخطاء وتأكد من تصحيح أي أخطاء قد تجدها. إذا كانت المشكلة لا تزال قائمة، فضلًا قم بمشاركة مزيد من التفاصيل حول البرنامج.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...