Release Engadget
#1
With this add-on you can watch videos from Engadget - http://www.engadget.com/videos

Version 1.0.4
update for frodo/gotham
content is now scraped from the website, http://www.engadget.com/videos/
new preferred playback setting

Install from the XBMC.org repository.

The code is on GitHub - https://github.com/divingmule/pluggin.video.engadget
Reply
#2
Hi divingmule,
I was enjoying your Engadget plugin but it seems it's now broken, here's a post I made in the iOS forum with the details.

(2014-01-19, 21:12)ct323i Wrote: Hi all,
I recently installed XBMC Frodo on my Apple TV 2 running the newest Seas0nPass tetherless jailbreak with Apple TV 5.3.
I installed a few Video add-ins, one of them being Engadget, version 1.0.4.
When I try to open the Engadget plugin I'm getting the message Error Script failed! : plugin.video.engadget and the plugin doesn't load. Huh

I've turned on debugging and viewed the error in the log file which I will paste below.
There seems to be an issue with Beautiful Soup and Python's built-in HTMLParser not playing nicely.
Next I tried installing the suggested external HTML parsers to make it work but I've gotten nowhere. Confused
Finally I tried checking for a newer version of the Engadget plugin but it seems 1.0.4 is the latest, I even checked divingmule's github repo and compared the default.py script to what was most recently posted on github.
I'm out of ideas here and about to give up, but maybe somebody else knows a solution to this error, or maybe it's time for an update to the Engadget add-on script.
Thanks for any help or ideas! Big Grin

Code:
apt-get install lxml
E: Couldn't find package lxml

apt-get install python-lxml
E: Couldn't find package python-lxml

pip install lxml
-sh: pip: command not found

apt-get install html5lib
E: Couldn't find package html5lib

apt-get install libxml2-dev
E: Couldn't find package libxml2-dev

Debug Log:
Code:
12:58:29 T:113946624   DEBUG: CGUIMediaWindow::GetDirectory (plugin://plugin.video.engadget/)
12:58:29 T:113946624   DEBUG:   ParentPath = [addons://sources/video/]
12:58:29 T:805117952   DEBUG: StartScript - calling plugin Engadget('plugin://plugin.video.engadget/','1','')
12:58:29 T:805117952    INFO: initializing python engine.
12:58:29 T:805117952   DEBUG: new python thread created. id=3
12:58:29 T:805117952   DEBUG: WaitOnScriptResult - waiting on the Engadget (id=3) plugin...
12:58:29 T:147161088   DEBUG: Python thread: start processing
12:58:29 T:147161088  NOTICE: -->Python Interpreter Initialized<--
12:58:29 T:147161088   DEBUG: Process - The source file to load is /var/mobile/Library/Preferences/XBMC/addons/plugin.video.engadget/default.py
12:58:30 T:147161088   DEBUG: Process - Setting the Python path to /var/mobile/Library/Preferences/XBMC/addons/plugin.video.engadget:/var/mobile/Library/Preferences/XBMC/addons/script.module.simplejson/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.beautifulsoup4/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.brightcove/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.beautifulsoup/lib:/private/var/stash/Applications/XBMC.frappliance/XBMCData/XBMCHome/addons/script.module.pil/lib:/var/mobile/Library/Preferences/XBMC/addons/script.common.plugin.cache/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.simple.downloader/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.requests/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.buggalo/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.parsedom/lib:/var/mobile/Library/Preferences/XBMC/addons/script.module.xbmcswift2/lib:/var/stash/Applications/XBMC.frappliance/Frameworks:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python26.zip:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6/plat-darwin:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6/plat-mac:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6/plat-mac/lib-scriptpackages:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6/lib-tk:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6/lib-old:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6/lib-dynload:/var/stash/Applications/XBMC.frappliance/Frameworks/lib/python2.6/site-packages:
12:58:30 T:147161088   DEBUG: Process - Entering source directory /var/mobile/Library/Preferences/XBMC/addons/plugin.video.engadget
12:58:30 T:147161088   DEBUG: Instantiating addon using automatically obtained id of "plugin.video.engadget" dependent on version 2.1.0 of the xbmc.python api
12:58:30 T:113946624   DEBUG: ------ Window Init (DialogBusy.xml) ------
12:58:32 T:147161088   DEBUG: [plugin.video.engadget-1.0.4]: {}
12:58:32 T:147161088   DEBUG: [plugin.video.engadget-1.0.4]: Request URL: http://www.engadget.com/videos
12:58:35 T:147161088   ERROR: /var/mobile/Library/Preferences/XBMC/addons/script.module.beautifulsoup4/lib/bs4/builder/_htmlparser.py:155: RuntimeWarning: Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help.
                                              "Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help."))
12:58:35 T:113946624   DEBUG: ------ Window Init (DialogKaiToast.xml) ------
12:58:35 T:147161088    INFO: Python script stopped
12:58:35 T:805117952   DEBUG:  WaitOnScriptResult - plugin exited prematurely - terminating
12:58:35 T:113946624   ERROR: GetDirectory - Error getting plugin://plugin.video.engadget/
12:58:35 T:113946624   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.engadget/) failed
12:58:35 T:113946624   DEBUG: CGUIMediaWindow::GetDirectory (addons://sources/video/)
12:58:35 T:113946624   DEBUG:   ParentPath = []
12:58:36 T:113946624   DEBUG: waiting for python thread 3 (/var/mobile/Library/Preferences/XBMC/addons/plugin.video.engadget/default.py) to stop
12:58:36 T:113946624   DEBUG: python thread 3 (/var/mobile/Library/Preferences/XBMC/addons/plugin.video.engadget/default.py) destructed

Specs:
Apple TV 2 (black)
XBMC 12.3 Frodo
Seas0nPass 0.9.5
Apple TV software 5.3 (6105)
Engadget, Video add-on 1.0.4
Reply
#3
script failed for me too. I can see the video listing but none of them seem to play. I even reinstalled it.
Here is a cop of my log if anyone is interested.
http://sourcedrop.net/3HN5ce770b849
For now I guess I will just hit up Engadgets Youtube channel.
Reply
#4
I've fixed the addon somewhat. It isn't my addon so how do I get this on the repo?

There is still a glaring security hole in the script, there is an 'eval' which is executing a string originating from a HTTP.

Aren't these things audited before allowed in the repo?
Reply
#5
made pull request on github

code for now is here:
https://github.com/hansbogert/pluggin.video.engadget
Reply
#6
I think divingmule has been absent for a long time (Last Visit: 2014-01-27 15:40)
Probably a good idea to contact the team-kodi via the addon mailing list and submit your pr's there even not being the author of the plugin...
Reply
#7
The plugin is under my control now, if divingmule wants it back that's fine of course. I've emailed the addon mailinglist some while ago and since then I was able to publish the new plugin based on divingmule's code. In the source code he's still listed as original author. This forum thread is still the main means of bug reporting, let me know if something breaks. The scraping is brittle due to the engadget website being horrible with HTML errors and all - so I _don't_ expect this to work fine in to eternity.
Reply
#8
well this plugin is crashing Kodi whenever it is opened.
Kodi 17.0alpha2

uninstalled
Reply
#9
Well, I can't reproduce, so it's hard for me to say anything.

Personally I'd blame Kodi in this case, first reason is that you're running an Alpha, and the second reason is that in no way should Kodi crash whatever a plugin is doing.

If you are in the ability to test again and get a debug log while reproducing the error, please do.

Thanks for the feedback though!
Reply

Logout Mark Read Team Forum Stats Members Help
Engadget1