Posts: 59
Joined: Mar 2014
Reputation:
0
Upon further playing around I found that if I send that URL with out the ?t=xxxx the script fails as well. I was testing this by sending the URL for the plugin to Kodi without it. Trying to look through the python files I see how it is breaking up the parameters sent and I believe this is why it goes all the way to the =. I'm not sure how this can be updated and fixed. Let me know if there is anything else that I can do.
Posts: 455
Joined: Oct 2012
Reputation:
42
2016-06-15, 17:20
(This post was last modified: 2016-06-15, 17:33 by foreverguest.)
Why Yatse started sending this broken URL?
I can try to prevent the error in the addon, but this should be fixed in Yatse.
Posts: 3,077
Joined: Jun 2009
Nothing have changed on Yatse side
I guess Google updated the share links with new data and if that's the problem I need to update the regexp.
What are the valid chars for the ids ? [a-zA-Z0-9_\\-] covers all ?
Posts: 59
Joined: Mar 2014
Reputation:
0
2016-06-16, 03:18
(This post was last modified: 2016-06-16, 04:32 by dexdeadly.)
Hey foreverguest I had a question. When you are generating the local db, is there a way to add more information to the database? Such as an albums table with the album_id matched with the artist and album name? Reason being is I'm currently using voxcommando and it connects to my Kodi instance and plays my tv shows, movie and most recently I've coded it to send a json command to play youtube playlists for me by opening up the program and letting it play. So far I've already gotten voxcommando to send a command to open and play a single song due to that information being there. I've also been able to do this with playlists as well. The only thing I can't do is albums because this isn't pulled into the db for me to query and create the payloads needed for voxcommando.
Posts: 59
Joined: Mar 2014
Reputation:
0
Hey foreverguest,
I had a question. So I'm waiting for the beta client to come available to test the sharing. However I thought I had single songs working but I do not. I should be able to given I make a tweak to something but I ha dthought of something. If I send to the plugin this string. ?action=play_song&song_id=Tz6irguyibjdysu5mzslzmcab6a&title=The 1st Whutchacallit (Explicit)&artist=Bubba Sparxxx the plugin fails with this.
17:42:27 T:9708 NOTICE: [GoogleMusicEXP-1.9.2] ARGV: ['plugin://plugin.audio.googlemusic.exp/', '56', '?action=play_song&song_id=Tz6irguyibjdysu5mzslzmcab6a&title=The 1st Whutchacallit (Explicit)&artist=Bubba Sparxxx']
17:42:28 T:9708 NOTICE: [GoogleMusicEXP-1.9.2] Loading auth from cache
17:42:28 T:9708 NOTICE: [GoogleMusicEXP-1.9.2] getStreamUrl songid: Tz6irguyibjdysu5mzslzmcab6a device: 3324193f2d314f09 quality: hi
17:42:28 T:9708 NOTICE: [GoogleMusicEXP-1.9.2] Song: The 1st Whutchacallit (Explicit) - 'https://r7---sn-8xgp1vo-2iaz.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=b709842ef2849bee&itag=25&source=skyjam&begin=0&upn=IDUd_Yh2J6o&o=16614067524644168301&ratebypass=yes&ip=108.2.167.27&ipbits=0&expire=1466113438&sparams=expire,id,ip,ipbits,itag,mm,mn,ms,mv,o,pcm2cms,pl,ratebypass,source,upn&signature=09435602D44DC73604C9EE65D43839A6C90793DD.5BADB193A2E2C1ECB1FCAE5230EC0E7E3087E9C3&key=cms1&mm=31&mn=sn-8xgp1vo-2iaz&ms=au&mt=1466113124&mv=m&pcm2cms=yes&pl=16'
17:42:28 T:9708 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.KeyError'>
Error Contents: ('albumart',)
Traceback (most recent call last):
File "C:\Users\Dex.OFFICE\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\default.py", line 13, in <module>
GoogleMusicPlaySong.GoogleMusicPlaySong().play(params)
File "C:\Users\Dex.OFFICE\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicPlaySong.py", line 18, in play
li = utils.createItem(title, params.pop('albumart'), params.pop('artistart'))
KeyError: ('albumart',)
-->End of Python script error report<--
Isn't this going to occur when it is being shared as well since this is the only data available in the share link? That or am I missing something?
Posts: 455
Joined: Oct 2012
Reputation:
42
Try omitting the 'title' parameter.
Posts: 59
Joined: Mar 2014
Reputation:
0
Hello foreverguest. I just download the latest version of the beta yatse remote where Tolriq had tried to fix this. Currently the beta version is sending the Google Play Music like so:
22:42:39 T:8224 NOTICE: [GoogleMusicEXP-1.9.2] ARGV: ['plugin://plugin.audio.googlemusic.exp/', '1', '?action=play_song&song_id=T2nvxcatu476uyd2wgrl7icvwcy']
However the following is happening which is how I mentioned it above just slightly different. .
22:42:41 T:8224 NOTICE: [GoogleMusicEXP-1.9.2] Loading auth from cache
22:42:41 T:8224 NOTICE: [GoogleMusicEXP-1.9.2] getStreamUrl songid: T2nvxcatu476uyd2wgrl7icvwcy device: 3324193f2d314f09 quality: hi
22:42:42 T:8224 NOTICE: [GoogleMusicEXP-1.9.2] Song: Country Folks (feat. Colt Ford & Danny Boone) - 'https://r8---sn-8xgp1vo-2ias.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=e4dc9dfcef7796e9&itag=25&source=skyjam&begin=0&upn=bUXnYnQeWt0&o=16614067524644168301&ratebypass=yes&ip=108.2.167.27&ipbits=0&expire=1466390651&sparams=expire,id,ip,ipbits,itag,mm,mn,ms,mv,o,pl,ratebypass,source,upn&signature=5767521E88E67583A72F622A4572E88F2DE44F08.734481168CC1ACA42C1900FA693BF24BD0BBDD6E&key=cms1&mm=31&mn=sn-8xgp1vo-2ias&ms=au&mt=1466390459&mv=m&pl=16'
22:42:42 T:8224 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.KeyError'>
Error Contents: ('artistart',)
Traceback (most recent call last):
File "C:\Users\Dex.OFFICE\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\default.py", line 13, in <module>
GoogleMusicPlaySong.GoogleMusicPlaySong().play(params)
File "C:\Users\Dex.OFFICE\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicPlaySong.py", line 18, in play
li = utils.createItem(title, params.pop('albumart'), params.pop('artistart'))
KeyError: ('artistart',)
-->End of Python script error report<--
It looks like the plugin knows the song that is going to play but it fails. It looks like its trying to find a URL for the art and its not being returned?
As you mentioned above was to try with just the artist so I tried sending the link like so:
plugin://plugin.audio.googlemusic.exp/?action=play_song&song_id=Tz6irguyibjdysu5mzslzmcab6a&artist=Bubba Sparxxx
However I still get the same returned error. It wants either the artistart or albumart URL which I'm not sure if you are getting back and able to add. I found that in order to get my voicecommands to work I'm using the song_id and artistart and it works. As long as one of them is supplied it works with no issues.
Let me know if there is anything I can do to assist. I'll keep poking around.
Posts: 455
Joined: Oct 2012
Reputation:
42
2016-06-20, 18:18
(This post was last modified: 2016-06-20, 18:24 by foreverguest.)
Try to use url with only 'action=play_song' and 'song_id' as parameters, the addon will fetch missing metadata.
Edit: Actually I spotted a bug when fetching metadata for store songs, 'artistart' is missing, I'll work in a fix, thanks for reporting.