[mythtv-users] Commercial Flagging (UK, DVB-T)
Mark Greenwood
fatgerman at gmail.com
Fri Oct 26 16:09:00 UTC 2012
On 26 Oct 2012, at 16:04, Mark Greenwood wrote:
>
> On 26 Oct 2012, at 15:11, John Pilkington wrote:
>
>> On 26/10/12 15:05, John Pilkington wrote:
>>> On 26/10/12 14:08, Mark Greenwood wrote:
>>>>
>>>> On 26 Oct 2012, at 13:46, Tim Phipps wrote:
>>>>
>>>>> Quoting Mark Greenwood <fatgerman at gmail.com>:
>>>>>> OK, so
>>>>>>
>>>>>> Commflag_35 jobqueue.cpp:2281 (DoFlagCommercialsThread) JobQueue:
>>>>>> Commercial Detection Starting for "The Inbetweeners":"The First Day"
>>>>>> recorded from channel 1029 at 2012-10-23T23:05:00Z
>>>>>>
>>>>>> When I then try :
>>>>>> mausc_wrapper.py --chanid=1029 --starttime=2012-10-23T23:05:00Z
>>>>>> Local access to recording not found.
>>>>>>
>>>>>> mausc_wrapper.py --chanid=1029 --starttime=2012-10-23T23:05:00
>>>>>> Could not find recording.
>>>
>>> Can it find --starttime=2012-10-23T23:06:00, which would be the local
>>> time in the UK? Or --starttime 201210230600 or perhaps 20121023060000 ?
>>>
>>> Do you have a mix of 0.25 and 0.26?
>>>
>> I had better correct that. It's 20121024000500 :-)
>
> :-) I didn't spot that either. using that gives me the 'Local access to recording not found' error.
>
> So, putting some print statements in, in the style of all the best script monkeys :), I find that
>
> rec.basename = 1029_20121023230500.mpg - a file which exists
> rec.storagegroup = Default
>
> The Default storage group points to /var/lib/mythtv/recordings, which is where the file is. But findfile(rec.basename, rec.storagegroup, db=db) returns 'None'.
Right, found what I suspect is a bug in the python bindings for 0.26
The script calls
sg = findfile(rec.basename, rec.storagegroup, db=db)
But in the source I find:
def findfile(filename, sgroup, db=None):
"""
findfile(filename, sgroup, db=None) -> StorageGroup object
Will search through all matching storage groups, searching for file.
Returns matching storage group upon success.
"""
db = DBCache(db)
for sg in db.getStorageGroup(groupname=sgroup):
# search given group
if sg.local:
if os.access(sg.dirname+filename, os.F_OK):
return sg
Now, thanks to some debugging I find
sg.dirname+filename == /var/lib/mythtv/recordings1029_20121023230500.mpg
So, change the call to
sg = findfile('/'+rec.basename, rec.storagegroup, db=db)
and the script runs. (Haven't yet checked whether it has found the breaks correctly)
Looks like sg.dirname is stripping a trailing slash where it shouldn't. Where should I report this?
Mark
>
> Mark
>
>>
>>>>>>
>>>>> Possibly. I'm still on 0.25 till the weekend. Hopefully I can figure
>>>>> out a way to get the script to work with both 0.25 and 0.26. The
>>>>> second error happens when the script can't find the database entry
>>>>> for the recording. The first error does find the db row so the syntax
>>>>> used in the first example is correct but then it fails to find the
>>>>> actual file. Are you running this on the same machine as the backend
>>>>> that made the recording?
>>>>
>>>> Yes, same machine (well through an ssh session from another machine
>>>> but I don't think that matters). The recordings in the directory all
>>>> have names like '1029_201212367300.mpg', not sure if that's relevant.
>>>
>>> Well, if you copied that filename something is very wrong,
>>>>
>>>> Cheers
>>>>
>>>> Mark
>>>>
>>>>>
>>>>> Cheers,
>>>>> Tim.
>>>>>
>>>
>>> _______________________________________________
>>> mythtv-users mailing list
>>> mythtv-users at mythtv.org
>>> http://www.mythtv.org/mailman/listinfo/mythtv-users
>>>
>>
>> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org
>> http://www.mythtv.org/mailman/listinfo/mythtv-users
>
More information about the mythtv-users
mailing list