Opened 6 years ago

Closed 9 months ago

Last modified 9 months ago

#12243 closed Bug Report - General (fixed)

Python Bindings failing with new inetrefid changes

Reported by: skd5aner@… Owned by: Bill Meek
Priority: minor Milestone: 31.0
Component: Bindings - Python Version: 0.27-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

While trying to run mythvidexport via a job, it fails with:

   Traceback (most recent call last):
      File "/usr/local/bin/mythvidexport.py", line 410, in main
        export = VIDEO(opts,int(args[0]))
      File "/usr/local/bin/mythvidexport.py", line 66, in __init__
        self.get_meta()
      File "/usr/local/bin/mythvidexport.py", line 132, in get_meta
        metadata = grab.grabInetref(self.rec.inetref)
      File "/usr/local/lib/python2.7/dist-packages/MythTV/system.py", line 411, in grabInetref
        return self.command('-D', *args).next()
      File "/usr/local/lib/python2.7/dist-packages/MythTV/system.py", line 351, in command
        return self._processMetadata(super(Grabber, self).command(*args))
      File "/usr/local/lib/python2.7/dist-packages/MythTV/system.py", line 137, in command
        return self._runcmd(cmd)
      File "/usr/local/lib/python2.7/dist-packages/MythTV/system.py", line 146, in _runcmd
        raise MythError(MythError.SYSTEM,self.returncode,cmd,self.stderr)
    MythError: External system call failed: code 1

speaking with wagnerrp via IRC, it seems the python bindings may need to be updated to account for recent changes in the metadata handling.

Running: MythTV Version : v0.27.3-107-gf91e18d MythTV Branch : fixes/0.27

Change History (3)

comment:1 Changed 6 years ago by troy@…

mythvidexport grabs the inetref from the database and it is now something like: ttvdb.py_12345

This breaks the python bindings.

It looks like the problem is here: https://github.com/MythTV/mythtv/blob/master/mythtv/bindings/python/MythTV/system.py#L401-L411

The grabbers are already hard coded into the python bindings: https://github.com/MythTV/mythtv/blob/master/mythtv/bindings/python/MythTV/dataheap.py#L1173-L1174

I added a quick and dirty work around to the mythvideoexport.py script in the MythTV Wiki.

To fix this bug either the VideoGrabber? needs to be re-written, which would probably break even more things, or a check placed in system.py->Grabber.grabInetref() for the new format of inetrefs and strip out the leading grabber name.

comment:2 Changed 9 months ago by Roland Ernst <rcrernst@…>

Resolution: fixed
Status: newclosed

In 9be0f39af/mythtv:

Fix compatibility to python3 in 'VideoGrabber?.grabInetref'.

During testing of the use case shown in 'mythvidexport.py',
I found an additional incompatibility to python3.

This patch fixes #12243 as well, by providing the correct
'inetref' id to the grabber script.

comment:3 Changed 9 months ago by Stuart Auchterlonie

Milestone: unknown31.0
Owner: changed from Raymond Wagner to Bill Meek
Note: See TracTickets for help on using tickets.