fossfreedom / coverart-search-providers

Drop in Rhythmbox replacement to CoverArt Search to provide new and updated coverart search providers both local and by internet image hosts
http://xpressubuntu.wordpress.com/
GNU General Public License v3.0
10 stars 1 forks source link

Cover art not working #8

Closed Hunsu closed 10 years ago

Hunsu commented 10 years ago

Hi, It doesn't work for me. See the attached image. capture du 2014-03-02 19 43 55

fossfreedom commented 10 years ago

Hi,

if you run rhythmbox from a terminal what errors are reported?

Hunsu commented 10 years ago

(rhythmbox:14631): Gtk-CRITICAL : gtk_css_provider_load_from_path: assertion 'path != NULL' failed Traceback (most recent call last): File "/usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py", line 101, in do_activate self.artist_store = CoverArtExtDB(name="artist-art") File "/usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_extdb.py", line 264, in init CoverArtExtDB.instances[name] = CoverArtExtDB._impl(name) File "/usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_extdb.py", line 95, in __init self.db = gdbm.open(filename, 'c') _gdbm.error: [Errno 22] Argument invalide Traceback (most recent call last): File "/usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py", line 148, in do_selected self.do_impl_activate() File "/usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py", line 176, in do_impl_activate self._setup_source() File "/usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py", line 280, in _setup_source self.album_manager = AlbumManager(self.plugin, self.viewmgr.current_view) File "/usr/lib/rhythmbox/plugins/coverart_browser/coverart_album.py", line 1794, in init self.artist_man = ArtistManager(plugin, self, plugin.shell) File "/usr/lib/rhythmbox/plugins/coverart_browser/coverart_artistview.py", line 728, in init self.cover_man = ArtistCoverManager(plugin, self) File "/usr/lib/rhythmbox/plugins/coverart_browser/coverart_artistview.py", line 679, in init self.cover_db = CoverArtExtDB(name='artist-art') File "/usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_extdb.py", line 264, in init CoverArtExtDB.instances[name] = CoverArtExtDB._impl(name) File "/usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_extdb.py", line 95, in __init** self.db = gdbm.open(filename, 'c') _gdbm.error: [Errno 22] Argument invalide

fossfreedom commented 10 years ago

Please can you enable the Python Console plugin Then select from "Tools - Python Console" - a window will appear.

Please copy and paste the following two lines and let me know the result.

from gi.repository import RB
print (RB.user_cache_dir())
Hunsu commented 10 years ago

I got this /home/[myusername]/.cache/rhythmbox

fossfreedom commented 10 years ago

?? why did you close this - has it been resolved?

I need to know the [myusername] - I'm wondering if there is something with the username format that causes the code to crash at this point.

Hunsu commented 10 years ago

The user name is meradi. The problem it's not the user name because in another computer it work. I have copied rhythmbox folder from it.

fossfreedom commented 10 years ago

hmm - nothing wrong with that.

please can you copy and paste the following into the rhythmbox python-console and let me know the result:

from gi.repository import RB
cachedir = RB.user_cache_dir() + "/artist-art"
filename = cachedir + "/store.db"
import gdbm
print (filename)
db = gdbm.open(filename, 'c')
print (db)

if you are using Rhythmbox 3, try this:

from gi.repository import RB
cachedir = RB.user_cache_dir() + "/artist-art"
filename = cachedir + "/store.db"
import dbm.gnu as gdbm
print (filename)
db = gdbm.open(filename, 'c')
print (db)
Hunsu commented 10 years ago

look at the code because there's part of the result that we cannot see. In rb 3 : from gi.repository import RB cachedir = RB.user_cache_dir() + "/artist-art" filename = cachedir + "/store.db" import dbm.gnu as gdbm print (filename) db = gdbm.open(filename, 'c') print (db) /home/meradi/.cache/rhythmbox/artist-art/store.db Traceback (most recent call last): File "/usr/lib/rhythmbox/plugins/python-console/pythonconsole.py", line 394, in __run r = eval(command, self.namespace, self.namespace) File "", line 1 from gi.repository import RB ^ SyntaxError: invalid syntax

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/rhythmbox/plugins/python-console/pythonconsole.py", line 398, in __run exec(command, self.namespace) File "", line 6, in _gdbm.error: [Errno 22] Argument invalide in rb 2 : /home/meradi/.cache/rhythmbox/artist-art/store.db <gdbm.gdbm object at 0xa507700>

fossfreedom commented 10 years ago

Sorry about that - should have said please copy and paste each line one at a time not all in one go.

Please disable both coverart-browser and coverart-search-providers and restart rhythmbox Then open the python console and copy and paste one line at a time the following

import dbm.gnu as gdbm
filename='/home/meradi/.cache/rhythmbox/artist-art/store.db'
db = gdbm.open(filename, 'c')
print (db)

What distro are you using? Ubuntu 14.04?

Hunsu commented 10 years ago

I got the same error in the third line : Traceback (most recent call last): File "/usr/lib/rhythmbox/plugins/python-console/pythonconsole.py", line 394, in __run r = eval(command, self.namespace, self.namespace) File "", line 1 db = gdbm.open(filename, 'c') ^ SyntaxError: invalid syntax

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/rhythmbox/plugins/python-console/pythonconsole.py", line 398, in __run exec(command, self.namespace) File "", line 1, in _gdbm.error: [Errno 22] Argument invalide No I'm using Ubuntu 13.10 I installed your plugin like explained here http://xpressubuntu.wordpress.com/2013/10/26/installing-rhythmbox-3-0-plugins-the-easy-way/

I forgot to say that the plugin doesn't work even with RB 2 in my new computer.

fossfreedom commented 10 years ago

hmm

from the python console what is the output of the following:

import platform
platform.python_version()

From a terminal what is the output of

which python3

Hunsu commented 10 years ago

From python console I got : 3.3.2+ From terminal : /usr/bin/python3

fossfreedom commented 10 years ago

Please can you delete the folder and everything within that folder '/home/meradi/.cache/rhythmbox/artist-art' and restart rhythmbox

does this fix the error?

Hunsu commented 10 years ago

Yes it solved the problem. Do you figured out why?

fossfreedom commented 10 years ago

not sure.

Have you used coverart-browser before when you were using rhythmbox 2.99 before upgrading to rhythmbox 3.0? Possibly the rhythmbox 3 version cannot read the rhythmbox 2.99 version of the database in that cache folder.

I note that there was a very recent python3 update in 13.10 - maybe that introduced a compatibility issue - possibly you were using coverart-browser successfully, then you did an update and the update broke the database found in that cache folder.

Let me know and if necessary I'll add a note in the readme file.

Hunsu commented 10 years ago

I installed RB 2 then I copied the folders from my old computer. When I enabled the plugins I noticed that they didn't work. After that I installed RB3. Thanks for the help.

Do you know how I get back the browse button. I have it only when I'm on party mode.

fossfreedom commented 10 years ago

interesting - I'll have a closer look at what happens if I copy a database from RB2 to RB3.

Sounds like this is a scenario I didnt cater for - may require a tweak or two.