[mythtv] Metadata download disable patch - guidance needed

Stephen Worthington stephen_agent at jsw.gen.nz
Wed Oct 9 08:22:33 UTC 2013

On Wed, 9 Oct 2013 16:06:42 +1100, you wrote:

>On 9 October 2013 15:22, Stephen Worthington <stephen_agent at jsw.gen.nz> wrote:
>> AutoMetadataLookup seems to be completely orphaned - in 0.27 it is
>> only referenced in mythtv/libs/libmythtv/recordingrule.cpp
>> RecordingRule::RecordingRule() and there is no way I can find of
>> setting or changing its value.  In fact, all of the GetNumSettings
>> calls in the RecordingRule::RecordingRule() constructor seem to be for
>> orphaned settings.  I have not delved too far into that, but I think
>> it probably has to do with the change to using a default template to
>> create the recording rules, and I am guessing that all the values that
>> are defaulted in the constructor will be overwritten from values in
>> the template rule when that is loaded.  But I have not checked on that
>> at all.  AutoMetadataLookup used to control whether a new recording
>> rule had the record.autometadata flag set when it was created.  The
>> code for setting it (in globalsettings.cpp) disappeared in 0.26.
>IMHO, how it is now is completely broken.
>the AutoMetadataLookup setting isn't used.
>In the recording screen the default value is set to the value of this
>setting; but what you do there is completely ignored later.
>So, changing the way the the scripted is started by the backend isn't
>going to work.
>There's currently no UI to toggle the value of AutoMetadataLookup that
>will actually cause an effect...
>I had a look as I thought it would be a simple fix; but it isn't...
>In 0.26; each recording rule would constrol the meta data download for
>that particular recording...
>to be honest, I'm not even sure the way mythmetadalookup is started
>would actually properly do what it's supposed to do and retrieve the
>metadata for all the recordings.
>I need to run some additional test

No, AutoMetadataLookup is the wrong flag - it is (or was) used to set
up a new recording rule.  DailyArtworkUpdates is the flag that
controls running mythmetadatalookup.  It is set in grabbersettings.cpp
(Setup > Artwork and Data Sources > Perform daily updates of recording
artwork).  If you have DailyArtworkUpdates off and have the option on
each recording rule to do metadata updates when a recording completes
also off, mythmetadatalookup should never be run - and that is how
0.26 worked.

I have tested a quick fix that works to completely disable daily runs
of mythmetadatalookup again:

diff --git a/mythtv/programs/mythbackend/backendhousekeeper.cpp
old mode 100644
new mode 100755
index e6a81ce..79434e4
--- a/mythtv/programs/mythbackend/backendhousekeeper.cpp
+++ b/mythtv/programs/mythbackend/backendhousekeeper.cpp
@@ -448,6 +448,12 @@ bool ArtworkTask::DoRun(void)
         m_msMML = NULL;

+    if (!gCoreContext->GetNumSetting("DailyArtworkUpdates", 0))
+    {
+        LOG(VB_GENERAL, LOG_INFO, QString("Artwork refresh is
+        return true;
+    }
     QString command = GetInstallPrefix() + "/bin/mythmetadatalookup";
     QStringList args;
     args << "--refresh-all-artwork";
diff --git a/mythtv/programs/mythbackend/backendhousekeeper.h
old mode 100644
new mode 100755

But given the other problems I ran across, I do not feel it is the
correct way to do it.  It certainly works right now, but would need to
be undone and done the right way when other things are fixed.

More information about the mythtv-dev mailing list