[mythtv-users] Important: Changes to Metadata lookup in March 2021

Hika van den Hoven hikavdh at gmail.com
Thu Feb 25 18:45:46 UTC 2021


Hoi Peter,

Thursday, February 25, 2021, 6:19:52 PM, you wrote:

> Hi Hika

> On 2/25/21 11:19 AM, Hika van den Hoven wrote:
>> It was an ambiguous error. The python2 mysql module 'mysql-python' was
>> forked and renamed to 'mysqlclient'. So I had no mysql module under
>> python3. Took some fiddling under gentoo to keep the old one for
>> python 2.7 and the new one for python3 as they excluded each other.
>>
>> But now both tvmaze.py and tmdb3tv.py work under both python2 with
>> partial adapted 0.27 bindings and under python3 with the current
>> bindings.
>>
>> Next step is integration in older mythtv versions that have no
>> knowledge of those two new metadata grabbers and there I am a bit out
>> of my depth.
>> I can only think of renaming either one of the two to ttvdb.py and
>> update the inetrefs. But that requires their in- and output behaviour
>> to be exactly the same! And my first tests seem to indicate that is
>> not the case:-(  
>>
>>
>> Tot mails,
>>    Hikamailto:hikavdh at gmail.com

> Do you have a list of steps needed to get it to work with version 0.27,
> for other people that are on older version of MythTV?

> Peter

Get the latest version of mythtv from github:
    Make directory where to place it and go there
    run:
    git clone https://github.com/MythTV/mythtv.git mythtv
    
    If that does not work, first install git!
    
Next either install the pythonbindings from there into python3:
    go inside the downloaded data to:
        ...mythtv/mythtv/bindings/python
        (substitute ... with the location you downloaded it to)
    run:
        sudo python3 ./setup.py install
    install the following python modules if not jet there:
        https://pypi.org/project/mysqlclient/
        https://pypi.org/project/requests/
        https://pypi.org/project/requests-cache/
        https://pypi.org/project/python-dateutil/
        https://pypi.org/project/future
    by either 
        downloading the sourcefiles from above links, 
        unpacking them 
        and from the main directory within the unpacked files run:
        sudo python3 ./setup.py install
    or by finding the appropriate modules for your distribution.

or update the apropriate bindingfiles in your python2.7 binding directory
    on my system:
        /usr/lib64/python2.7/site-packages/MythTV
    on others possibly:
        /usr/local/lib/python2.7/dist-packages/MythTV
    or a variation of the above.
    
    Go to that directory
    first backup the tmdb3 directory in there by renaming it to tmdb3.bak:
        mv tmdb3 tmdb3.bak
    copy from the above downloaded git files the tmdb3 and tvmaze directory into this MythTV directory:
        sudo cp -rp ...mythtv/mythtv/bindings/python/tmdb3/tmdb3/ .
        sudo cp -rp ...mythtv/mythtv/bindings/python/tvmaze/ .
        (substitute ... with the location you downloaded mythtv into)
    install the following python modules if not jet there:
        https://pypi.org/project/requests/
        https://pypi.org/project/requests-cache/
        https://pypi.org/project/python-dateutil/
        https://pypi.org/project/future
    by either 
        downloading the sourcefiles from above links, 
        unpacking them 
        and from the main directory within the unpacked files run:
        sudo python2 ./setup.py install
    or by finding the appropriate modules for your distribution.
    
Go to the location of the graberfiles in:
    /usr/share/mythtv/metadata/Television/
        sudo cp -p ...mythtv/mythtv/programs/scripts/metadata/Television/tvmaze.py .
        sudo cp -p ...mythtv/mythtv/programs/scripts/metadata/Television/tmdb3tv.py .
        (substitute ... with the location you downloaded mythtv into)
    fix the bug at line 504 in tvmaze.py
    
        if not os.path.exists(cachedir):
-            os.makedirs(cachepath)
+            os.makedirs(cachedir)
        if sys.version_info[0] == 2:
            
    if you installed the python3 bindings, ensure the first line of both files points to python3:
        #!/usr/bin/env python3
        
    if you updated the python2 bindings,ensure the first line of both files points to python2:
        #!/usr/bin/env python2
        
if you updated the python2 bindings, you also have to update tmdb3.py in
    /usr/share/mythtv/metadata/Movie/
    go there and run:
        sudo cp -p ...mythtv/mythtv/programs/scripts/metadata/Movie/tmdb3.py .
        (substitute ... with the location you downloaded mythtv into)
    I have not tested this tmdb3.py version with python2!
        
Tests:
/usr/share/mythtv/metadata/Television/tvmaze.py -t
/usr/share/mythtv/metadata/Television/tmdb3tv.py -l en -a US -M Monk
/usr/share/mythtv/metadata/Television/tvmaze.py -l en -a US -M Monk
    

Tot mails,
  Hika                            mailto:hikavdh at gmail.com

"Zonder hoop kun je niet leven
Zonder leven is er geen hoop
Het eeuwige dilemma
Zeker als je hoop moet vernietigen om te kunnen overleven!"

De lerende Mens



More information about the mythtv-users mailing list