[mythtv-users] find_orphans.py not working as expected

Gary Raposo gary at raposo.ca
Fri May 15 13:41:07 UTC 2020


On 2020-05-14 5:09 p.m., Bill Meek wrote:
> On 5/14/20 3:19 PM, Gary Raposo wrote:
> ...
>
> If I have a host value that doesn't match my recordings, then I get all
> recordings showing up as missing.
>
> Try printing the hosts value like this:
>
>     else:
>         with DB as c:
>             c.execute("""SELECT hostname FROM settings
>                          WHERE value='BackendServerIP'""")
>             hosts = [r[0] for r in c.fetchall()]
>             print('hosts=',hosts) # <---------------------------
>
> Look at some recordings. Press 'i' twice and see what the value of
> Recording Host: is set to.
>

Thanks for the suggestions, Bill. Still no luck.

I checked the settings table and I do not have an entry for 
BackendServerIP. I do have a valid/correct entry for MasterServerIP so 
changed the code to reference MasterServerIP. No change.

If I add the print statement you suggested, it's still showing None:
hosts= [None]

Checking my recordings (pressing "i" twice) I can see that they are all 
correctly tagged with odysseus as the hostname. MasterServerIP 
references the correct IP address for odysseus and /etc/hosts matches.

Looking at the query, it looks like they are pulling hostname from the 
settings table for the entry associated with the 
BackendServerIP/MasterServerIP. I hadn't really looked at it that 
closely before and assumed they were pulling the hostname based on the 
data field. Wouldn't you know it, hostname is set to NULL for that entry.

I updated the settings table and set hostname = odysseus for 
MasterServerIP + added an entry for BackendServerIP (just in case) and 
now I've moved on to a whole different set of problems!

Before, I was able to see all my recordings but they were listed as 
"Recordings with missing files". Now I get no output and the following 
errors:

$ ./find_orphans.py
Traceback (most recent call last):
   File "./find_orphans.py", line 222, in <module>
     BE = MythBE(db=DB)
   File "/usr/lib/python3.7/site-packages/MythTV/mythproto.py", line 80, 
in __init__
     self.hostname = self.db._gethostfromaddr(self.host)
   File "/usr/lib/python3.7/site-packages/MythTV/database.py", line 
1348, in _gethostfromaddr
     'BackendServerAddr', addr)
MythTV.exceptions.MythDBError: Could not find setting 
'BackendServerAddr' on host 'None'

Not too sure what's going on. Looking at the settings table, I have 
three entries: BackendServerIP, MasterServerIP, and BackendServerAddr. 
All have data set to 10.10.10.20 and hostname = odysseus.

I'm poking around now in mythproto.py and database.py but (again) my 
lack of Python experience is making this a slow process.

As always, any suggestions are welcome.

Gary



More information about the mythtv-users mailing list