mythtv meta grabber problems
I was on my mythtv media server last night, and I noticed that no matter what I did, I was not getting metadata back when lookups were being done for tv shows recorded off the air, and for any video files I tried either. Looking in the frontend logs (/var/log/mythtv/mythfrontend.log) I could see some interesting results when I tried refreshing the metadata for one of the video files:
Apr 23 22:31:46 inception mythfrontend.real: mythfrontend[7669]:
I MetadataDownload metadatadownload.cpp:280 (runGrabber) Running
Grabber: /usr/share/mythtv -l en -a GB -D 25957
Apr 23 22:31:46 inception mythfrontend.real: mythfrontend[7669]:
I MetadataDownload metadatadownload.cpp:186 (run) Metadata
Lookup Failed: No Results Clear Skies 0 0
Apr 23 22:31:46 inception mythfrontend.real: mythfrontend[7669]:
I CoreContext videodlg.cpp:3340 (customEvent) No results found for
Clear Skies 0 0
Now the path /usr/share/mythtv is a valid path on my system, with various things, like the backup tool and such like. However, it isn't an executable, so consequently, when the system tried to run a directory as an executable, nothing happened. Finding why this location was being used instead of an actual script took a little bit of digging.
I looked in various places (including the config entries available via mythweb) and tried changing a few things, but it wasn't until I investigated the mythmetadatalookup command/utility, and ran it at full debug that I made any progress. Understandably it returned a lot of lines, but the following one put me in the beginnings of the right direction:
MSqlQuery::exec(DBManager1) SELECT data FROM settings
WHERE value = 'moviegrabber' AND hostname IS NULL
<<<< Returns 1 row(s)
I fired up mysql client to investigate, and found that there was no data:
mysql> select * from settings WHERE value = 'moviegrabber';
+--------------+------+----------+
| value | data | hostname |
+--------------+------+----------+
| MovieGrabber | | NULL |
+--------------+------+----------+
My other reading around had suggested that the tmdb3.py script would be required script for video / movie lookup. However, only a relative path to /usr/share/mythtv is required.
The tv grabber is also affected. The following sql got both grabbers running correctly:
UPDATE settings SET data='/metadata/Movie/tmdb3.py'
WHERE value ='MovieGrabber';
UPDATE settings SET data='metadata/Television/ttvdb.py'
WHERE value ='TelevisionGrabber';
Once I'd made those changes, only badly formatted titles posed problems!