[mythtv-users] Python3 interface: Could not find setting 'BackendServerAddr' on host ''

Ross Boylan rossboylan at stanfordalumni.org
Mon Feb 24 00:15:20 UTC 2020

Running mythtv 30 with fixes + the python3 code from
https://github.com/rcrdnalor/mythtv, develop/python3. I gather that code
has been merged into Myth v31.
I have no idea if my problem is specific to these version, as I've made no
serious use of the python interface before.

I did a --user install of the libraries (and added that location to
sys.path).  It seems there are actually 2 interfaces, one based fairly
directly on the Services API and one in a more pythonic style.  It's the
latter I'm trying to use.

db=MythTV.MythDB()  # I can startup the frontend from this account, and I
assume MythDB() gets info from my config
bb=db.searchRecorded(title="Blue Bloods")
a = next(bb)
# various queries of a
MythDBError                               Traceback (most recent call last)
<ipython-input-42-adfa98f44cbd> in <module>()
----> 1 a.delete()

/home/ross/.local/lib/python3.7/site-packages/MythTV/dataheap.py in
delete(self, force, rerecord)
    375         """
    376         try:
--> 377             return self.getProgram().delete(force, rerecord)
    378         except AttributeError:
    379             raise MythError("Program could not be found")

/home/ross/.local/lib/python3.7/site-packages/MythTV/dataheap.py in
    387     def getProgram(self):
    388         """Recorded.getProgram() -> Program object"""
--> 389         return Program.fromRecorded(self)
    391     def getRecordedFile(self):

/home/ross/.local/lib/python3.7/site-packages/MythTV/mythproto.py in
fromRecorded(cls, rec)
    953     @classmethod
    954     def fromRecorded(cls, rec):
--> 955         be = FileOps(db=rec._db)
    956         return be.getRecording(rec.chanid, rec.starttime)

/home/ross/.local/lib/python3.7/site-packages/MythTV/mythproto.py in
__init__(self, backend, blockshutdown, events, db)
     78             # no backend given, use master
     79             self.host = self.db.settings.NULL.MasterServerIP
---> 80             self.hostname = self.db._gethostfromaddr(self.host)
     82         else:

/home/ross/.local/lib/python3.7/site-packages/MythTV/database.py in
_gethostfromaddr(self, addr, value)
   1346             else:
   1347                 raise MythDBError(MythError.DB_SETTING,
-> 1348                                     'BackendServerAddr', addr)
   1350         with self as cursor:

MythDBError: Could not find setting 'BackendServerAddr' on host

Maybe it is expecting a name, not an IP address?  If so, how do I fix it?
OTOH, the method name is gethostfromaddr.
dig -x on the IP returns the fully qualified host name.
The database and myth backend are both on the same IP.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20200223/4b990d32/attachment.htm>

More information about the mythtv-users mailing list