• 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
  • 24
[RELEASE] Vimeo (Video) Plugin - De facto default standard Vimeo Addon for XBMC
Rainbow 
Hey! That worked for me as well... AWESOME! Nod

Thank you ferryb so much.
Reply
(2012-10-28, 20:01)ferryb Wrote: the real solution should be in de vimeo addon code, though. This shoudn't be to difficult for the e developers of this great addon I think

I added a line into the VimeoCore.py that fixed the browsing issue for me. A dirty fix, but works.

Right before line 196 in VimeoCore.py:
Code:
result = result.decode("utf-8")

Login is broken as well, but not related to this issue, appears to be DOM parsing issue. I'm gonna poke at that for a bit.
Reply
(2012-10-30, 01:15)bitterpeanut Wrote:
(2012-10-28, 20:01)ferryb Wrote: the real solution should be in de vimeo addon code, though. This shoudn't be to difficult for the e developers of this great addon I think

I added a line into the VimeoCore.py that fixed the browsing issue for me. A dirty fix, but works.

Right before line 196 in VimeoCore.py:
Code:
result = result.decode("utf-8")

Login is broken as well, but related to this issue. I'm gonna poke at that for a bit.

Now see that works for me and I prefer this to the other one because it doesn't affect the other addons negatively. Big Grin
I DON'T DO CABLE.
Reply
(2012-10-30, 01:15)bitterpeanut Wrote:
(2012-10-28, 20:01)ferryb Wrote: the real solution should be in de vimeo addon code, though. This shoudn't be to difficult for the e developers of this great addon I think

I added a line into the VimeoCore.py that fixed the browsing issue for me. A dirty fix, but works.

Right before line 196 in VimeoCore.py:
Code:
result = result.decode("utf-8")

Login is broken as well, but related to this issue. I'm gonna poke at that for a bit.

Thanks a lot for the tip.

I have a rooted MK808 (Android Stick), Using Root Explorer with r/w mode, I open the VimeoCore.py file with the stock text editor, inserting the suggested line, then save&exit. There was no any error message, but the content inside Vimeocore.py didn't change. Tried several times.

Not sure what is the problem. It seems to be a straight forward edit.

Reply
Here was the fix that was checked into the CommonFunctions.py by Tobias:

CommonFunctions.parseDOM:
Code:
if isinstance(html, str): # Should be handled
    try:
        html = [html.decode("utf-8")]
    except:
        log("Couldn't decode html binary string. Data Length: " + repr(len(html)))
        html = [html]
elif isinstance(html, unicode):

It seems 1.3.0 of common is on the way soon. So If you aren't experience in editing code I'd just sit tight.
Reply
bitterpeanut's fix worked for me...

wouldn't mind getting the download function back.
Reply
(2012-11-02, 05:41)PatK Wrote: bitterpeanut's fix worked for me...

wouldn't mind getting the download function back.

Ditto on the download function...
Reply
Question 
any news on the login issue?
=)
Reply
Is there a fix out already?
Will there be a new version available soon?
Reply
(2012-11-15, 12:17)vamapaull Wrote: Is there a fix out already?
Will there be a new version available soon?
Yes please... and news on the login issue as well. Any information would be appreciated.

I would also like to add a request for video information to be incorporated in a media info type view within the addon view frame, if possible.

THANK YOU!
Reply
I would also like to know if there's any progress on this issue (login).
Thanks!
Reply
Script error because of unicode error when video title contains utf8 character.
Example URL: plugin://plugin.video.vimeo/?action=play_video&videoid=36139389

If you need any further details please try to play this video with the debug settings you need.

Quote:19:27:13 T:4928 NOTICE: [plugin.video.doku_monster] Using playback url: plugin://plugin.video.vimeo/?action=play_video&videoid=36139389
19:27:13 T:3952 DEBUG: XFILE::CPluginDirectory::WaitOnScriptResult- plugin returned successfully
19:27:13 T:4928 INFO: Scriptresult: Success
19:27:13 T:3952 DEBUG: XFILE::CPluginDirectory::StartScript - calling plugin Vimeo('plugin://plugin.video.vimeo/','0','?action=play_video&videoid=36139389')
19:27:13 T:3952 INFO: initializing python engine.
19:27:13 T:3952 DEBUG: new python thread created. id=47
19:27:13 T:3952 DEBUG: XFILE::CPluginDirectory::WaitOnScriptResult - waiting on the Vimeo plugin...
19:27:13 T:4464 DEBUG: Thread XBPyThread start, auto delete: 0
19:27:13 T:4464 DEBUG: Python thread: start processing
19:27:13 T:4928 INFO: Python script stopped
19:27:13 T:4928 DEBUG: Thread XBPyThread 4928 terminating
19:27:13 T:4464 NOTICE: -->Python Interpreter Initialized<--
19:27:13 T:4464 DEBUG: XBPyThread:Tonguerocess - The source file to load is D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\default.py
19:27:13 T:4464 DEBUG: XBPyThread:Tonguerocess - Setting the Python path to D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo;D:\Progs\XBMC-Eden\portable_data\addons\script.module.pyamf\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.xmltodict\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.myconnpy\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.beautifulsoup\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.common.plugin.cache\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.buggalo\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.mechanize\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.xbmcswift2\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.xbmcswift\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.t0mm0.common\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.simplejson\lib;D:\Progs\XBMC-Eden\addons\script.module.pil\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.simple.downloader\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.parsedom\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.elementtree\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.web.viewer\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.feedparser\lib;D:\Progs\XBMC-Eden\addons\script.module.pysqlite\lib;D:\Progs\XBMC-Eden\system\python\DLLs;D:\Progs\XBMC-Eden\system\python\Lib;D:\Progs\XBMC-Eden\python26.zip;D:\Progs\XBMC-Eden\system\python\lib\plat-win;D:\Progs\XBMC-Eden\system\python\lib\lib-tk;D:\Progs\XBMC-Eden;D:\Progs\XBMC-Eden\system\python;D:\Progs\XBMC-Eden\system\python\lib\site-packages;
19:27:13 T:4464 DEBUG: XBPyThread:Tonguerocess - Entering source directory D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo
19:27:13 T:4464 DEBUG: Instantiating addon using automatically obtained id of "plugin.video.vimeo" dependent on version 2.0 of the xbmc.python api
19:27:13 T:4464 NOTICE: Vimeo-2.3.0
19:27:14 T:4464 NOTICE: CommonFunctions-1.4.0
19:27:14 T:4464 DEBUG: unable to load D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\resources\language\German\strings.xml: Failed to open file at line 0
19:27:15 T:3952 INFO: Loading skin file: DialogProgress.xml
19:27:15 T:3952 DEBUG: DialogProgress::StartModal called
19:27:15 T:3952 DEBUG: ------ Window Init (DialogProgress.xml) ------
19:27:15 T:3952 DEBUG: waiting for python thread 46 to stop
19:27:15 T:3952 DEBUG: python thread 46 destructed
19:27:18 T:3952 DEBUG: ------ Window Deinit (Pointer.xml) ------
19:27:18 T:4464 NOTICE: u'{"config":{"request":{"cached_timestamp":1354640975,"source":"cache","timestamp":1354645638,"signature":"dfbaa45022275305544e60e1ec9e8919","referrer":"","varnish":1,"cookie":{"hd":null,"scaling":1,"volume":100,"html":null}\n,"expiration":21600,"vimeo_url":"vimeo.com","player_url":"player.vimeo.com","cdn_url":"a.vimeocdn.com","cookie_domain":".vimeo.com"},"video":{"id":36139389,"title":"De lange T\\u00fcnn","width":424,"height":320,"duration":1789,"url":"http:\\/\\/vimeo.com\\/36139389","thumbnail":"http:\\/\\/b.vimeocdn.com\\/ts\\/247\\/689\\/247689121_960.jpg","embed_code":"<iframe src=\\"http:\\/\\/player.vimeo.com\\/video\\/36139389\\" width=\\"400\\" height=\\"300\\" frameborder=\\"0\\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\\/iframe>","hd":0,"default_to_hd":0,"owner":{"name":"Hans Wurst","portrait":"http:\\/\\/a.vimeocdn.com\\/images_v6\\/portraits\\/portrait_75_green.png","url":"http:\\/\\/vimeo.com\\/user10282537","account_type":"basic"},"stats":{"comments":0,"likes":14,"plays":12257},"files":{"h264":["sd"]},"profiles":{"h264":{"sd":107}},"smil":{"url":"http:\\/\\/player.vimeo.com\\/config\\/36139389.smil","qualities":["sd"]}},"security":{"embed_permission":"public","hd_embed":1,"privacy":"anybody"},"application":{"version":"v6","build_num":"180e8ac"},"analytics":{"ga_account":"UA-76641-35","comscore_c1":"1","comscore_c2":"10348289"},"user":{"id":0,"liked":0,"watch_later":0,"status":{"mod":0,"logged_in":0,"owner":0,"account_type":"logged_out"}},"embed":{"alt_color":"c0c0c0","color":"00adef","autoplay":0,"loop":0,"time":0,"pause_info":0,"on_site":1,"context":"user","api":{"on":1,"player_id":null,"version":2},"toggle":{"badge":0,"byline":0,"portrait":0,"title":0,"byline_badge":0,"embed":0,"hd":0,"like":1,"scaling":1,"share":1,"watch_later":1,"playbar":1,"fullscreen":1,"logo":0,"custom_logo":0,"volume":1,"vote":0},"outro":{"type":"nothing"}}}}'
19:27:18 T:4464 INFO: -->Python script returned the following error<--
19:27:18 T:4464 ERROR: Error Type: <type 'exceptions.UnicodeEncodeError'>
19:27:18 T:4464 ERROR: Error Contents: 'ascii' codec can't encode character u'\xfc' in position 10: ordinal not in range(128)
19:27:18 T:4464 ERROR: Traceback (most recent call last):
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\default.py", line 99, in <module>
navigation.executeAction(params)
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\VimeoNavigation.py", line 150, in executeAction
self.player.playVideo(params)
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\VimeoPlayer.py", line 59, in playVideo
(video, status) = self.getVideoObject(params)
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\VimeoPlayer.py", line 129, in getVideoObject
filename = ''.join(c for c in video['Title'].decode("utf-8") if c not in self.utils.INVALID_CHARS) + "-[" + get('videoid') + "]" + ".mp4"
File "D:\Progs\XBMC-Eden\system\python\Lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 10: ordinal not in range(128)
19:27:18 T:4464 INFO: -->End of Python script error report<--
19:27:18 T:4464 INFO: Python script stopped

regards,
sphere
My GitHub. My Add-ons:
Image
Reply
Doesn't seem to login or load anything. It worked with Eden but recently upgraded to Frodo RC2 and it doesn't work.
Reply
Anyone know if the guys who developed the add-on are working on another release to solve the login issue?
Reply
(2012-12-04, 20:31)sphere Wrote: Script error because of unicode error when video title contains utf8 character.
Example URL: plugin://plugin.video.vimeo/?action=play_video&videoid=36139389

If you need any further details please try to play this video with the debug settings you need.

Quote:19:27:13 T:4928 NOTICE: [plugin.video.doku_monster] Using playback url: plugin://plugin.video.vimeo/?action=play_video&videoid=36139389
19:27:13 T:3952 DEBUG: XFILE::CPluginDirectory::WaitOnScriptResult- plugin returned successfully
19:27:13 T:4928 INFO: Scriptresult: Success
19:27:13 T:3952 DEBUG: XFILE::CPluginDirectory::StartScript - calling plugin Vimeo('plugin://plugin.video.vimeo/','0','?action=play_video&videoid=36139389')
19:27:13 T:3952 INFO: initializing python engine.
19:27:13 T:3952 DEBUG: new python thread created. id=47
19:27:13 T:3952 DEBUG: XFILE::CPluginDirectory::WaitOnScriptResult - waiting on the Vimeo plugin...
19:27:13 T:4464 DEBUG: Thread XBPyThread start, auto delete: 0
19:27:13 T:4464 DEBUG: Python thread: start processing
19:27:13 T:4928 INFO: Python script stopped
19:27:13 T:4928 DEBUG: Thread XBPyThread 4928 terminating
19:27:13 T:4464 NOTICE: -->Python Interpreter Initialized<--
19:27:13 T:4464 DEBUG: XBPyThread:Tonguerocess - The source file to load is D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\default.py
19:27:13 T:4464 DEBUG: XBPyThread:Tonguerocess - Setting the Python path to D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo;D:\Progs\XBMC-Eden\portable_data\addons\script.module.pyamf\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.xmltodict\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.myconnpy\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.beautifulsoup\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.common.plugin.cache\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.buggalo\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.mechanize\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.xbmcswift2\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.xbmcswift\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.t0mm0.common\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.simplejson\lib;D:\Progs\XBMC-Eden\addons\script.module.pil\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.simple.downloader\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.parsedom\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.elementtree\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.web.viewer\lib;D:\Progs\XBMC-Eden\portable_data\addons\script.module.feedparser\lib;D:\Progs\XBMC-Eden\addons\script.module.pysqlite\lib;D:\Progs\XBMC-Eden\system\python\DLLs;D:\Progs\XBMC-Eden\system\python\Lib;D:\Progs\XBMC-Eden\python26.zip;D:\Progs\XBMC-Eden\system\python\lib\plat-win;D:\Progs\XBMC-Eden\system\python\lib\lib-tk;D:\Progs\XBMC-Eden;D:\Progs\XBMC-Eden\system\python;D:\Progs\XBMC-Eden\system\python\lib\site-packages;
19:27:13 T:4464 DEBUG: XBPyThread:Tonguerocess - Entering source directory D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo
19:27:13 T:4464 DEBUG: Instantiating addon using automatically obtained id of "plugin.video.vimeo" dependent on version 2.0 of the xbmc.python api
19:27:13 T:4464 NOTICE: Vimeo-2.3.0
19:27:14 T:4464 NOTICE: CommonFunctions-1.4.0
19:27:14 T:4464 DEBUG: unable to load D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\resources\language\German\strings.xml: Failed to open file at line 0
19:27:15 T:3952 INFO: Loading skin file: DialogProgress.xml
19:27:15 T:3952 DEBUG: DialogProgress::StartModal called
19:27:15 T:3952 DEBUG: ------ Window Init (DialogProgress.xml) ------
19:27:15 T:3952 DEBUG: waiting for python thread 46 to stop
19:27:15 T:3952 DEBUG: python thread 46 destructed
19:27:18 T:3952 DEBUG: ------ Window Deinit (Pointer.xml) ------
19:27:18 T:4464 NOTICE: u'{"config":{"request":{"cached_timestamp":1354640975,"source":"cache","timestamp":1354645638,"signature":"dfbaa45022275305544e60e1ec9e8919","referrer":"","varnish":1,"cookie":{"hd":null,"scaling":1,"volume":100,"html":null}\n,"expiration":21600,"vimeo_url":"vimeo.com","player_url":"player.vimeo.com","cdn_url":"a.vimeocdn.com","cookie_domain":".vimeo.com"},"video":{"id":36139389,"title":"De lange T\\u00fcnn","width":424,"height":320,"duration":1789,"url":"http:\\/\\/vimeo.com\\/36139389","thumbnail":"http:\\/\\/b.vimeocdn.com\\/ts\\/247\\/689\\/247689121_960.jpg","embed_code":"<iframe src=\\"http:\\/\\/player.vimeo.com\\/video\\/36139389\\" width=\\"400\\" height=\\"300\\" frameborder=\\"0\\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\\/iframe>","hd":0,"default_to_hd":0,"owner":{"name":"Hans Wurst","portrait":"http:\\/\\/a.vimeocdn.com\\/images_v6\\/portraits\\/portrait_75_green.png","url":"http:\\/\\/vimeo.com\\/user10282537","account_type":"basic"},"stats":{"comments":0,"likes":14,"plays":12257},"files":{"h264":["sd"]},"profiles":{"h264":{"sd":107}},"smil":{"url":"http:\\/\\/player.vimeo.com\\/config\\/36139389.smil","qualities":["sd"]}},"security":{"embed_permission":"public","hd_embed":1,"privacy":"anybody"},"application":{"version":"v6","build_num":"180e8ac"},"analytics":{"ga_account":"UA-76641-35","comscore_c1":"1","comscore_c2":"10348289"},"user":{"id":0,"liked":0,"watch_later":0,"status":{"mod":0,"logged_in":0,"owner":0,"account_type":"logged_out"}},"embed":{"alt_color":"c0c0c0","color":"00adef","autoplay":0,"loop":0,"time":0,"pause_info":0,"on_site":1,"context":"user","api":{"on":1,"player_id":null,"version":2},"toggle":{"badge":0,"byline":0,"portrait":0,"title":0,"byline_badge":0,"embed":0,"hd":0,"like":1,"scaling":1,"share":1,"watch_later":1,"playbar":1,"fullscreen":1,"logo":0,"custom_logo":0,"volume":1,"vote":0},"outro":{"type":"nothing"}}}}'
19:27:18 T:4464 INFO: -->Python script returned the following error<--
19:27:18 T:4464 ERROR: Error Type: <type 'exceptions.UnicodeEncodeError'>
19:27:18 T:4464 ERROR: Error Contents: 'ascii' codec can't encode character u'\xfc' in position 10: ordinal not in range(128)
19:27:18 T:4464 ERROR: Traceback (most recent call last):
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\default.py", line 99, in <module>
navigation.executeAction(params)
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\VimeoNavigation.py", line 150, in executeAction
self.player.playVideo(params)
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\VimeoPlayer.py", line 59, in playVideo
(video, status) = self.getVideoObject(params)
File "D:\Progs\XBMC-Eden\portable_data\addons\plugin.video.vimeo\VimeoPlayer.py", line 129, in getVideoObject
filename = ''.join(c for c in video['Title'].decode("utf-8") if c not in self.utils.INVALID_CHARS) + "-[" + get('videoid') + "]" + ".mp4"
File "D:\Progs\XBMC-Eden\system\python\Lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 10: ordinal not in range(128)
19:27:18 T:4464 INFO: -->End of Python script error report<--
19:27:18 T:4464 INFO: Python script stopped

regards,
sphere

Hi,

It has to be with the feature that allows the plugin to reproduce the video locally if it's already downloaded, by checking the automatically filename generation based on the video title (video['Title']), at line 129 of "VimeoPlayer.py".

That problem pop ups whenever the Title contains a non ascii character (as spanish and french titles usually have).

At the moment, the only way I've found to overcome the problem, is by commenting (a quick dirty way) line 129, and replace it by some "dummy" value given to filename variable. This is the aspect that shows the modified file "VimeoPlayer.py":
#filename = ''.join(c for c in video['Title'].decode("utf-8") if c not in self.utils.INVALID_CHARS) + "-[" + get('videoid') + "]" + ".mp4"
filename = "Dummy.mp4"

As that checking doesn't affect to video playing, but optimal performing in case of the video is already downloaded, it works in my case, although you miss the local reproduction feature.

This problem only happens (as far as I know) when the plugin is invoked from another plugin (for instance, by using xbmc.executebuiltin() function). If you navigate from within the plugin itselft I couldn't reproduce the problem (didnt try very match taht way, to be honest).

I hope that Developers will fix the video filename creation/location in a more elegant way that I did with this quick dirty patch. As I live in Spain, this little issue is very annoying to see vimeo spanish documentals from another plugins.

Many thanks for all in advance and kind regards,
jamontes
Reply
  • 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
  • 24

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Vimeo (Video) Plugin - De facto default standard Vimeo Addon for XBMC7