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

John Finlay finlay at moeraki.com
Thu Feb 25 20:35:52 UTC 2021


On 2/25/2021 10:45 AM, Hika van den Hoven wrote:
> 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
>      
>
>


On my system with python2.7 I had to hack the lookup.py file line 300 from:

    if query.isnumeric():

to:

    if unicode(query).isnumeric():

because the string in query is not unicode.

John


More information about the mythtv-users mailing list