[mythtv-users] everyday i have to make sure myth worked the day before
Michael T. Dean
mtdean at thirdcontact.com
Sun Apr 3 15:27:56 UTC 2011
On 04/03/2011 09:27 AM, Brian J. Murrell wrote:
> On 11-04-03 08:57 AM, Michael T. Dean wrote:
>> Please make sure you add the script you're using to
>> http://www.mythtv.org/wiki/Category:MythTV_System_Event_Scripts so
>> others can try it (and improve it).
> There is no script because there is no (failed to record) Event (the
> last time I looked, anyway) to trigger it.
Oh, I assumed you had a script triggering on Recording started, then
watching to see if <insert criteria that indicates a failure on your
system> occurs, then using the Python bindings to interact with the
backend to do whatever you feel is appropriate--i.e. (force) delete and
allow re-record or just allow re-record (and if allowing re-record, to
do so at the appropriate time--either during the current showing or
after it completes) or ...
Since, generally, the only time MythTV does the wrong thing when a
recording fails is when MythTV doesn't know that the recording failed, a
Recording failed event probably wouldn't help, anyway. :)
And, it's easy enough to use the Python bindings to detect when a
recording is starting after the scheduled start time, and you could
attempt to detect when you get a Recording started event but never
receive the matching Recording finished event. I'd think there are
several options available, even with the current list of MythTV System
Events ( http://www.mythtv.org/wiki/MythTV_System_Events ).
>> Note that it's only recorded /iff/ it does not appear again in the
>> current listings. So, if you start the master backend host while the
>> show is in progress /and/ the show appears as a re-run in current
>> listings, MythTV will not record the partial showing, but will wait for
>> the future (complete) showing.
> Ahhh. Very nice. Once again the scheduler is smarter than I give it
> credit for. That only works though if it's in the next two weeks worth
> of listings. I still think it would be useful to (perhaps optionally)
> not add a partial recording to the recorded table, or add it and mark it
> as "should re-record" or something so that if it does get partially
> recorded and is shown again 4 weeks later it gets re-recorded and
> replaces the existing partial recording.
We'll have some more data available with a change to the schema that's
in the works (but that probably won't be complete until at least
0.26.). That would make it easier to do what you ask.
>> Which you can do by selecting the recording, MENU, Recording
>> Options|Allow this episode to re-record (or something to that effect...
> Sure, as long as I continue to check things daily and take these
> remedial actions. I'm not sure why all of that can't be automatic though
>> Then, if it re-airs, it will
>> re-record, regardless of the fact that you have a partial recording in
>> current recordings.
> So it's almost there. Just needs that requirement for manual
> intervention taken out.
And then we need to finish the code to read minds. :)
That said, it wouldn't be difficult to create a power recording rule
that checks to see if you have any "second-half" recordings (i.e.
recordings that start at some time after the program start time) and, if
so, to re-record them. Then, you would just disable duplicate matching
on that one rule (and can even set the priority independently--therefore
allowing you to decide how important the re-records are). You can do
the rule regardless of title (for a generic/catch-all case) with a
low(er-than-default) priority, but then you can also create a separate
Fringe-only re-record partials rule so that you can set the priority on
that (very important) one to the same priority as your Fringe recording
rule.
I have power rules for similar stuff. One re-records episodes of Nova
in HDTV if an SDTV recording exists in current recordings (therefore,
ignoring duplicate matching). I have another one that re-records any
standard-definition recording (regardless of title) that exists in
current recordings and is in the Movies recording group if it re-airs in
HDTV.
Even though I only get partial recordings when power goes out during a
recording (so, maybe once per year--yeah, Fate, I know I just tempted
you...), I may just have to make one that re-records partial recordings,
as described. If no one gets around to it before me, I'll post the
SQL. (Regardless of who gets around to it first, I'll likely add it as
an example in the custom/power recording rule editor.) With this
approach--where users specify exactly what should happen, and at what
priority, etc.--we don't need the mind-reading code. Unfortunately,
users will find it hard to find the capability (and even when they do,
they will likely find it hard to understand the flexibility of the
capability).
In addition, it might be possible to identify recordings that start on
time, but don't finish recording (in case mythbackend is shut down
during a recording, but gets restarted after the recording finishes).
I'll have to test what happens in those cases--unfortunately, I don't
have any such recordings, so I'll have to fake one to see how to
identify it. (Funny enough, I lost power at the house midway through
The Tonight Show on Friday night, and the backend shut down until power
was returned, so I actually had a 2-part recording that would have shown
exactly what data we have. Unfortunately, I've already watched and
deleted it, so I don't have the data to check if there are any good
indicators.)
I think detecting the not-finished recordings will be much easier with
some post-0.24 changes that were made, and even easier after the
above-mentioned changes we're making to the schema. (Using only the
post-0.24 changes could cause false positives, but with the schema
changes, we may not see those false positives.)
Anyway, just some ideas that may help.
Mike
More information about the mythtv-users
mailing list