vially / googlemusic-xbmc

Google Music addon for Kodi
GNU General Public License v3.0
176 stars 48 forks source link

The plugin doesn't load any song into its library from google #14

Closed Froiibaad closed 11 years ago

Froiibaad commented 11 years ago

When I try to open All Songs from plugin (or anything else), I get an error. I am using Ubuntu 12.10 x86-64, XBMC 11, Python 2.7.3. and 2 step authentication on google. I tested the application specific password with gmusicapi in python and it works. What am I missing here?

Thanks.

P.s. Here is the part of xbmc log related to it:

18:28:56 T:140030997772032 ERROR: Error Type: <type 'exceptions.IOError'> 18:28:56 T:140030997772032 ERROR: Error Contents: (2, 'No such file or directory', '/home/milos/.xbmc/addons/plugin.audio.googlemusic/gmusic_cookies.txt') 18:28:56 T:140030997772032 ERROR: Traceback (most recent call last): File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/default.py", line 41, in navigation.listMenu(params) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 53, in listMenu self.listPlaylistSongs(get("playlist_id")) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 166, in listPlaylistSongs songs = self.api.getPlaylistSongs(playlist_id) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 22, in getPlaylistSongs self.updatePlaylistSongs(playlist_id) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 45, in updatePlaylistSongs self.login.login() File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicLogin.py", line 48, in login self.gmusicapi.session.cookies.load(filename=self._cookie_file, ignore_discard=True) File "/usr/lib/python2.7/cookielib.py", line 1761, in load f = open(filename) IOError: (2, 'No such file or directory', '/home/milos/.xbmc/addons/plugin.audio.googlemusic/gmusic_cookies.txt') 18:28:56 T:140031105771392 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=all_songs 18:28:56 T:140031105771392 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=all_songs) failed

vially commented 11 years ago

Apparently the cookie file does not exist. You might try to create the file manually (/home/milos/.xbmc/addons/plugin.audio.googlemusic/gmusic_cookies.txt) with the right permissions and see if it makes any difference.

Anyway, I'm planning to work on it this weekend and try to fix some of the issues that have accumulated over the last couple of months.

Cheers, Valentin

Froiibaad commented 11 years ago

I tried this already. Created an empty cookies file and put 777 permissions for it. I get the following error.

16:03:16 T:140078059865856 NOTICE: [GoogleMusic-0.2.2] getXBMCVersion : '11.0' 16:03:16 T:140078059865856 NOTICE: [GoogleMusic-0.2.2] listPlaylistSongs : 'Loading playlist: all_songs' 16:03:16 T:140078059865856 NOTICE: [GoogleMusic-0.2.2] login : 'Loading cookie from file' 16:03:16 T:140078059865856 ERROR: Error Type: <class 'cookielib.LoadError'> 16:03:16 T:140078059865856 ERROR: Error Contents: '/home/milos/.xbmc/addons/plugin.audio.googlemusic/gmusic_cookies.txt' does not look like a Set-Cookie3 (LWP) format file 16:03:16 T:140078059865856 ERROR: Traceback (most recent call last): File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/default.py", line 41, in navigation.listMenu(params) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 53, in listMenu self.listPlaylistSongs(get("playlist_id")) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 166, in listPlaylistSongs songs = self.api.getPlaylistSongs(playlist_id) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 22, in getPlaylistSongs self.updatePlaylistSongs(playlist_id) File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 45, in updatePlaylistSongs self.login.login() File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicLogin.py", line 48, in login self.gmusicapi.session.cookies.load(filename=self._cookie_file, ignore_discard=True) File "/usr/lib/python2.7/cookielib.py", line 1763, in load self._really_load(f, filename, ignore_discard, ignore_expires) File "/usr/lib/python2.7/_LWPCookieJar.py", line 98, in _really_load raise LoadError(msg) LoadError: '/home/milos/.xbmc/addons/plugin.audio.googlemusic/gmusic_cookies.txt' does not look like a Set-Cookie3 (LWP) format file 16:03:16 T:140078464644992 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=all_songs 16:03:16 T:140078464644992 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=all_songs) failed 16:03:16 T:140077382018816 NOTICE: -->Python Interpreter Initialized<-- 16:03:16 T:140077382018816 NOTICE: GoogleMusic-0.2.2 ARGV: ['plugin://plugin.audio.googlemusic/', '0', ''] 16:03:16 T:140077382018816 NOTICE: CommonFunctions-1.5.1 16:03:16 T:140077382018816 ERROR: /home/milos/.xbmc/addons/script.module.protobuf/lib/google/init.py:2: UserWarning: Module mutagen was already imported from /home/milos/.xbmc/addons/script.module.mutagen/lib/mutagen/init.pyc, but /usr/local/lib/python2.7/dist-packages is being added to sys.path import('pkg_resources').declare_namespace(name) 16:03:16 T:140077382018816 ERROR: /home/milos/.xbmc/addons/script.module.protobuf/lib/google/init.py:2: UserWarning: Module gmusicapi was already imported from /home/milos/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.pyc, but /usr/local/lib/python2.7/dist-packages is being added to sys.path import('pkg_resources').declare_namespace(name) 16:03:16 T:140077382018816 ERROR: /home/milos/.xbmc/addons/script.module.protobuf/lib/google/init.py:2: UserWarning: Module validictory was already imported from /home/milos/.xbmc/addons/script.module.validictory/lib/validictory/init.pyc, but /usr/local/lib/python2.7/dist-packages is being added to sys.path

I will try to take a look into the code during the weekend well. We'll be in touch. Thanks.

Cheers, Milos

vially commented 11 years ago

This should be fixed in the latest commits from the 'develop' branch. If you still have this issue feel free to reopen it and I'll look into it again.

Cheers!

Froiibaad commented 11 years ago

I tried both 0.7 and 0.7.2 versions. I was unable to install them (Texture manager couldn't load icon.png). Then I just copied the content of .zip to addons folder. I get the following error:

16:20:19 T:140346176567040 NOTICE: GoogleMusic-0.7.0 ARGV: ['plugin://plugin.audio.googlemusic/', '0', ''] 16:20:20 T:140346176567040 ERROR: /home/milos/.xbmc/addons/script.module.protobuf/lib/google/init.py:2: UserWarning: Module validictory was already imported from /home/milos/.xbmc/addons/script.module.validictory/lib/validictory/init.pyc, but /usr/local/lib/python2.7/dist-packages is being added to sys.path import('pkg_resources').declare_namespace(name) 16:20:20 T:140346176567040 NOTICE: CommonFunctions-1.5.1 16:20:20 T:140346176567040 ERROR: Error Type: <type 'exceptions.TypeError'> 16:20:20 T:140346176567040 ERROR: Error Contents: an integer is required 16:20:20 T:140346176567040 ERROR: Traceback (most recent call last): File "/home/milos/.xbmc/addons/plugin.music.google.music/default.py", line 70, in navigation.listMenu() File "/home/milos/.xbmc/addons/plugin.music.google.music/GoogleMusicNavigation.py", line 64, in listMenu self.xbmcplugin.addDirectoryItems(int(sys.argv[1]), listItems) TypeError: an integer is required 16:20:20 T:140346954499968 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic 16:20:20 T:140346954499968 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic) failed

vially commented 11 years ago

First of all you should only try with version 0.7.0 All the other 0.7.x versions are used for trying to debug issue #18.

The error "Texture manager couldn't load icon.png" shouldn't prevent the addon from installing correctly. I think you may not be able to install or run it because you might not have all the dependencies installed correctly (see this post for details) or you are not using Frodo.

Let me know if you still get this error after you manage to install it correctly from the XBMC interface.

Froiibaad commented 11 years ago

I was using Eden. Tried everything, gave up, removed Eden, installed Frodo, followed the post you linked above and everything works perfectly. Thank you!