Beta [webif] Beta 1.4.2 - improving skip

Status
Not open for further replies.

af123

Administrator
Staff member
I've only uploaded it to the beta repository, but webif 1.4.2 is now available. This version improves the episode skip handling by centralising all of the code (so that the same routine is used by both webif and RS) and consistently using upper-case for CRIDs.
It also adds persistence for skipped episodes. That is, if an episode scheduled for skip gets knocked off the list as other episodes record, it will be automatically re-added once it is within 24 hours of the showing time.
I'll set some things to record with some skips and see how it plays out over the next few days but it's available now in case anyone wants to test in parallel.

You'll need to update both webif and rs (which will pull in an updated rsvsync too).
 
It may be a bit excessive but I'm testing with:

Screenshot 2017-05-02 20.26.53.png

and will try and skip the episodes at 1431 and 1000 each day.

Screenshot 2017-05-02 20.29.03.png
 
I've uploaded 1.4.2-1 and rs 1.5.0-1.
These should take account of the episodes scheduled for skip and not show them in either the list or visual schedule screens.

Unfortunately, due to a schema change, anyone who did install 1.4.2 will need to remove the /var/lib/humaxtv/rsvp.db file (note the P before the dot!)
Shout if you need help.
 
I rescheduled Come Dine With Me on 4Seven last night and then skipped the 14:30 and 15:30 episodes every day and initially schedule displays looked OK for every day with all conflicts resolved.
I removed all the 14:30 entries followed by the 15:30s so that the 14:30 were pushed out of the already recorded list.
I then switched of the box overnight.

This morning today's 14:30 and 15:30 episodes are correctly show in the recorded list and not as scheduled so I think the skip restoration is working correctly :)
I have also seen no evidence of incorrect episodes being marked as skipped :)

However I do see the skipped episodes showing on the recording list and creating conflicts for the rest of the week :(
I think this is working as designed and they will be re-added to the skip list when they are within 24 hours but it does make it appear the skip has failed and you get all the conflict warnings. :(Fullscreen capture 03052017 104418.jpg

What I think needs to happen is that the skipped entries beyond 24hrs need to be removed from the szEventToRecord list but not added to to the recorded list.

I don't know how often and under what circumstances the Humax software rebuilds the szEventToRecord list but the removal of skipped entries would probably need to be done each time it does.

BTW I didn't see the note about removing rsvp.dp but the Skip table has been added without doing anything!

Initial schedule (prior to any skipping)
Code:
CRID:
  CRID:     /4SEV0170417315016127
  Start:    1493818200 (Wed May  3 14:30:00 2017)
    CRID:     /50270/016
    CRID:     /50270/017
    CRID:     /50270/018
    CRID:     /50270/019
    CRID:     /50270/020
    CRID:     /50270/021
    CRID:     /50270/022
    CRID:     /50270/023
    CRID:     /50270/024
    CRID:     /50270/025
    CRID:     /50270/026
    CRID:     /50270/027
    CRID:     /50270/028
    CRID:     /50270/029
    CRID:     /50270/030
    CRID:     /50270/031
    CRID:     /50270/032
    CRID:     /50270/033
    CRID:     /50270/034
    CRID:     /50270/035
    CRID:     /55242/006
    CRID:     /55242/007
    CRID:     /55242/008
    CRID:     /55242/009
    CRID:     /55242/010
Past Events:
Upcoming Events:
    CRID:     /50270/016
    Start:    1493818200 (Wed May  3 14:30:00 2017)
    CRID:     /50270/017
    Start:    1493820000 (Wed May  3 15:00:00 2017)
    CRID:     /50270/018
    Start:    1493821800 (Wed May  3 15:30:00 2017)
    CRID:     /50270/019
    Start:    1493823600 (Wed May  3 16:00:00 2017)
    CRID:     /50270/020
    Start:    1493825400 (Wed May  3 16:30:00 2017)
    CRID:     /50270/021
    Start:    1493904600 (Thu May  4 14:30:00 2017)
    CRID:     /50270/022
    Start:    1493906400 (Thu May  4 15:00:00 2017)
    CRID:     /50270/023
    Start:    1493908200 (Thu May  4 15:30:00 2017)
    CRID:     /50270/024
    Start:    1493910000 (Thu May  4 16:00:00 2017)
    CRID:     /50270/025
    Start:    1493911800 (Thu May  4 16:30:00 2017)
    CRID:     /50270/026
    Start:    1493991000 (Fri May  5 14:30:00 2017)
    CRID:     /50270/027
    Start:    1493992800 (Fri May  5 15:00:00 2017)
    CRID:     /50270/028
    Start:    1493994600 (Fri May  5 15:30:00 2017)
    CRID:     /50270/029
    Start:    1493996400 (Fri May  5 16:00:00 2017)
    CRID:     /50270/030
    Start:    1493998200 (Fri May  5 16:30:00 2017)
    CRID:     /50270/031
    Start:    1494250200 (Mon May  8 14:30:00 2017)
    CRID:     /50270/032
    Start:    1494252000 (Mon May  8 15:00:00 2017)
    CRID:     /50270/033
    Start:    1494253800 (Mon May  8 15:30:00 2017)
    CRID:     /50270/034
    Start:    1494255600 (Mon May  8 16:00:00 2017)
    CRID:     /50270/035
    Start:    1494257400 (Mon May  8 16:30:00 2017)
Current state of schedule:
Code:
nugget schedule.epg 48 | egrep '(CRID|Start|Events):'
CRID:
  CRID:     /4SEV0170417315016127
  Start:    1493820000 (Wed May  3 15:00:00 2017)
    CRID:     /50270/017
    CRID:     /50270/019
    CRID:     /50270/020
    CRID:     /50270/021
    CRID:     /50270/022
    CRID:     /50270/024
    CRID:     /50270/025
    CRID:     /50270/026
    CRID:     /50270/027
    CRID:     /50270/029
    CRID:     /50270/030
    CRID:     /50270/031
    CRID:     /50270/032
    CRID:     /50270/034
    CRID:     /50270/035
    CRID:     /55242/006
    CRID:     /55242/007
    CRID:     /55242/008
    CRID:     /55242/009
    CRID:     /55242/010
    CRID:     /50270/041
    CRID:     /50270/042
    CRID:     /50270/043
    CRID:     /50270/044
    CRID:     /50270/045
Past Events:
    CRID:     /50270/016
    CRID:     /50270/033
    CRID:     /50270/028
    CRID:     /50270/023
    CRID:     /50270/018
Upcoming Events:
    CRID:     /50270/017
    Start:    1493820000 (Wed May  3 15:00:00 2017)
    CRID:     /50270/019
    Start:    1493823600 (Wed May  3 16:00:00 2017)
    CRID:     /50270/020
    Start:    1493825400 (Wed May  3 16:30:00 2017)
    CRID:     /50270/021
    Start:    1493904600 (Thu May  4 14:30:00 2017)
    CRID:     /50270/022
    Start:    1493906400 (Thu May  4 15:00:00 2017)
    CRID:     /50270/024
    Start:    1493910000 (Thu May  4 16:00:00 2017)
    CRID:     /50270/025
    Start:    1493911800 (Thu May  4 16:30:00 2017)
    CRID:     /50270/026
    Start:    1493991000 (Fri May  5 14:30:00 2017)
    CRID:     /50270/027
    Start:    1493992800 (Fri May  5 15:00:00 2017)
    CRID:     /50270/029
    Start:    1493996400 (Fri May  5 16:00:00 2017)
    CRID:     /50270/030
    Start:    1493998200 (Fri May  5 16:30:00 2017)
    CRID:     /50270/031
    Start:    1494250200 (Mon May  8 14:30:00 2017)
    CRID:     /50270/032
    Start:    1494252000 (Mon May  8 15:00:00 2017)
    CRID:     /50270/034
    Start:    1494255600 (Mon May  8 16:00:00 2017)
    CRID:     /50270/035
    Start:    1494257400 (Mon May  8 16:30:00 2017)
    CRID:     /55242/006
    Start:    1494336600 (Tue May  9 14:30:00 2017)
    CRID:     /55242/007
    Start:    1494338400 (Tue May  9 15:00:00 2017)
    CRID:     /55242/008
    Start:    1494340200 (Tue May  9 15:30:00 2017)
    CRID:     /55242/009
    Start:    1494342000 (Tue May  9 16:00:00 2017)
    CRID:     /55242/010
    Start:    1494343800 (Tue May  9 16:30:00 2017)
 
Last edited:
However I do see the skipped episodes showing on the recording list and creating conflicts for the rest of the week :(
Try running 'rs push skiplist' from the command line with the latest beta of rs installed.
BTW I didn't see the note about removing rsvp.dp but the Skip table has been added without doing anything!
I added the 'start' field to that table so if you are missing that then it won't correctly re-add events which have been pushed out.
 
Try running 'rs push skiplist' from the command line with the latest beta of rs installed.
Code:
rs push skiplist
Problem building SQL statement: no such column: hSvc
I think the S should be lowercase!
I added the 'start' field to that table so if you are missing that then it won't correctly re-add events which have been pushed out.
Table does have start columnFullscreen capture 03052017 133452.jpg
 
My mistake, the new field with was hSvc and not start. Your skip table was created with the older version so doesn't have it.
 
My mistake, the new field with was hSvc and not start. Your skip table was created with the older version so doesn't have it.
Ah OK,
So I will need to delete rsvp.db and then reschedule the skips since we will have lost knowledge of them, anything else?
 
You should unschedule the recording completely otherwise the skips that are in the schedule will stay but not be backed up in the skip table.
Sorry about that, I needed to add the hSvc field to handle sending the skiplist to RS.
 
OK I deleted and re-added the series, pushed it RS, and then skipped all the 14:30s, then the 15:30s and finally 15:00's leaving 16:00 and 16:30 each day.
This is reflected in the nugget display and rsvp.dp as expected
So far looking good - will see what happens following the epg update.
Code:
CRID:
  CRID:     /4SEV0170417315016127
    CRID:     /50270/019
    CRID:     /50270/020
    CRID:     /50270/024
    CRID:     /50270/025
    CRID:     /50270/029
    CRID:     /50270/030
    CRID:     /50270/034
    CRID:     /50270/035
Past Events:
    CRID:     /50270/032
    CRID:     /50270/027
    CRID:     /50270/022
    CRID:     /50270/017
    CRID:     /50270/033
Upcoming Events:
    CRID:     /50270/019
    Start:    1493823600 (Wed May  3 16:00:00 2017)
    CRID:     /50270/020
    Start:    1493825400 (Wed May  3 16:30:00 2017)
    CRID:     /50270/024
    Start:    1493910000 (Thu May  4 16:00:00 2017)
    CRID:     /50270/025
    Start:    1493911800 (Thu May  4 16:30:00 2017)
    CRID:     /50270/029
    Start:    1493996400 (Fri May  5 16:00:00 2017)
    CRID:     /50270/030
    Start:    1493998200 (Fri May  5 16:30:00 2017)
    CRID:     /50270/034
    Start:    1494255600 (Mon May  8 16:00:00 2017)
    CRID:     /50270/035
    Start:    1494257400 (Mon May  8 16:30:00 2017)
But both the webif and rs schedule displays show the 15:00 today episode as still scheduled after the skiplist push?
Fullscreen capture 03052017 143123.jpg
Strangely 50270/018 appears in the rsv.db recorded list but not in the to be recorded and not in the nugget lists - so I somewhat confused (as usual)
 
The 15:00 episode did not start recording despite what the schedule displayed
but now the 15:30 today has popped back into the schedule display along with 14:30 & 15:30 for the rest of the week :(
Fullscreen capture 03052017 151302.jpg

Code:
nugget schedule.epg 48 | egrep '(CRID|Start|Events):'
CRID:
  CRID:     /4SEV0170417315016127
  Start:    1493821800 (Wed May  3 15:30:00 2017)
    CRID:     /50270/018
    CRID:     /50270/019
    CRID:     /50270/020
    CRID:     /50270/021
    CRID:     /50270/023
    CRID:     /50270/024
    CRID:     /50270/025
    CRID:     /50270/026
    CRID:     /50270/028
    CRID:     /50270/029
    CRID:     /50270/030
    CRID:     /50270/031
    CRID:     /50270/034
    CRID:     /50270/035
    CRID:     /55242/006
    CRID:     /55242/007
    CRID:     /55242/008
    CRID:     /55242/009
    CRID:     /55242/010
    CRID:     /50270/041
    CRID:     /50270/042
    CRID:     /50270/043
    CRID:     /50270/044
    CRID:     /50270/045
Past Events:
    CRID:     /50270/032
    CRID:     /50270/027
    CRID:     /50270/022
    CRID:     /50270/017
    CRID:     /50270/033
Upcoming Events:
    CRID:     /50270/018
    Start:    1493821800 (Wed May  3 15:30:00 2017)
    CRID:     /50270/019
    Start:    1493823600 (Wed May  3 16:00:00 2017)
    CRID:     /50270/020
    Start:    1493825400 (Wed May  3 16:30:00 2017)
    CRID:     /50270/021
    Start:    1493904600 (Thu May  4 14:30:00 2017)
    CRID:     /50270/023
    Start:    1493908200 (Thu May  4 15:30:00 2017)
    CRID:     /50270/024
    Start:    1493910000 (Thu May  4 16:00:00 2017)
    CRID:     /50270/025
    Start:    1493911800 (Thu May  4 16:30:00 2017)
    CRID:     /50270/026
    Start:    1493991000 (Fri May  5 14:30:00 2017)
    CRID:     /50270/028
    Start:    1493994600 (Fri May  5 15:30:00 2017)
    CRID:     /50270/029
    Start:    1493996400 (Fri May  5 16:00:00 2017)
    CRID:     /50270/030
    Start:    1493998200 (Fri May  5 16:30:00 2017)
    CRID:     /50270/031
    Start:    1494250200 (Mon May  8 14:30:00 2017)
    CRID:     /50270/034
    Start:    1494255600 (Mon May  8 16:00:00 2017)
    CRID:     /50270/035
    Start:    1494257400 (Mon May  8 16:30:00 2017)
    CRID:     /55242/006
    Start:    1494336600 (Tue May  9 14:30:00 2017)
    CRID:     /55242/007
    Start:    1494338400 (Tue May  9 15:00:00 2017)
    CRID:     /55242/008
    Start:    1494340200 (Tue May  9 15:30:00 2017)
    CRID:     /55242/009
    Start:    1494342000 (Tue May  9 16:00:00 2017)
    CRID:     /55242/010
    Start:    1494343800 (Tue May  9 16:30:00 2017)
    CRID:     /50270/041
    Start:    1494423000 (Wed May 10 14:30:00 2017)
 
I don't know what happened but after it recorded the 15:30 (incorrect), 16:00 and 16:30 episodes today I noticed that the rsvp.db now has no entries in the skip or pending tables so there is no chance of it applying the skips for the rest of the week. :(

I can see nothing in nugget.log after 14:11 when I set up the skips.
Should there be any logging for the reapplication of skipped entries
Code:
581    [nugget]: Wed May  3 14:11:30 2017:     - Wed May  3 14:44:30 2017
580    [nugget]: Wed May  3 14:11:30 2017: Adding timer(1493819070)
579    [nugget]: Wed May  3 14:11:30 2017: Ready 1493819070 - Wed May  3 14:44:30 2017
578    [nugget]: Wed May  3 14:11:30 2017:  Wake 1493819100 - Wed May  3 14:45:00 2017
577    [nugget]: Wed May  3 14:11:30 2017:       Mon May  8 16:30:00 2017 +30m
576    [nugget]: Wed May  3 14:11:30 2017:  [7] 327802,1494257400,1494259200,20682
575    [nugget]: Wed May  3 14:11:30 2017:       Mon May  8 16:00:00 2017 +30m
574    [nugget]: Wed May  3 14:11:30 2017:  [6] 327802,1494255600,1494257400,20681
573    [nugget]: Wed May  3 14:11:30 2017:       Fri May  5 16:30:00 2017 +30m
572    [nugget]: Wed May  3 14:11:30 2017:  [5] 327802,1493998200,1494000000,20553
571    [nugget]: Wed May  3 14:11:30 2017:       Fri May  5 16:00:00 2017 +30m
570    [nugget]: Wed May  3 14:11:30 2017:  [4] 327802,1493996400,1493998200,20552
569    [nugget]: Wed May  3 14:11:30 2017:       Thu May  4 16:30:00 2017 +30m
568    [nugget]: Wed May  3 14:11:30 2017:  [3] 327802,1493911800,1493913600,20530
567    [nugget]: Wed May  3 14:11:30 2017:       Thu May  4 16:00:00 2017 +30m
566    [nugget]: Wed May  3 14:11:30 2017:  [2] 327802,1493910000,1493911800,20529
565    [nugget]: Wed May  3 14:11:30 2017:       Wed May  3 16:30:00 2017 +30m
564    [nugget]: Wed May  3 14:11:30 2017:  [1] 327802,1493825400,1493827200,20507
563    [nugget]: Wed May  3 14:11:30 2017:       Wed May  3 16:00:00 2017 +30m
562    [nugget]: Wed May  3 14:11:30 2017:  [0] 327802,1493823600,1493825400,20506
561    [nugget]: Wed May  3 14:11:30 2017:   Events: 1WWW.CHANNEL4.COM/50270/019|1WWW.CHANNEL4.COM/50270/020|1WWW.CHANNEL4.COM/50270/024|1WWW.CHANNEL4.COM/50270/025|1WWW.CHANNEL4.COM/50270/029|1WWW.CHANNEL4.COM/50270/030|1WWW.CHANNEL4.COM/50270/034|1WWW.CHANNEL4.COM/50270/035|
560    [nugget]: Wed May  3 14:11:30 2017:   Last Event: 0
559    [nugget]: Wed May  3 14:11:30 2017:   Recorded: 1WWW.CHANNEL4.COM/50270/032|1WWW.CHANNEL4.COM/50270/027|1WWW.CHANNEL4.COM/50270/022|1WWW.CHANNEL4.COM/50270/017|1WWW.CHANNEL4.COM/50270/033|1WWW.CHANNEL4.COM/50270/028|1WWW.CHANNEL4.COM/50270/023|1WWW.CHANNEL4.COM/50270/018|1WWW.CHANNEL4.COM/50270/031|1WWW.CHANNEL4.COM/50270/026|1WWW.CHANNEL4.COM/50270/021|1WWW.CHANNEL4.CO
558    [nugget]: Wed May  3 14:11:30 2017:   CRID: 2/[WWW.CHANNEL4.COM/4SEV0170417315016127]
557    [nugget]: Wed May  3 14:11:30 2017:    @ 1493820000 (Wed May  3 15:00:00 2017)
556    [nugget]: Wed May  3 14:11:30 2017:   Come Dine with Me
555    [nugget]: Wed May  3 14:11:30 2017: Processing slot +48 (48)
554    [nugget]: Wed May  3 14:11:30 2017: slots(51, +48)
553    [nugget]: Wed May  3 14:11:30 2017: schedule.restore 39 = 1
552    [nugget]: Wed May  3 14:11:30 2017: schedule.restore 25 = 2
551    [nugget]: Wed May  3 14:11:30 2017: schedule reload complete (51).
550    [nugget]: Wed May  3 14:11:30 2017: Closing database.
549    [nugget]: Wed May  3 14:11:30 2017: schedule.stash 39 = 1
548    [nugget]: Wed May  3 14:11:30 2017: schedule.stash 25 = 2
547    [nugget]: Wed May  3 14:11:30 2017: Re-loading schedule database (51).
546    [nugget]: Wed May  3 14:11:30 2017: schedule save complete.
545    [nugget]: Wed May  3 14:11:30 2017: schedule save starting.
544    [nugget]: Wed May  3 14:04:55 2017: Deferred thread exiting.
543    [nugget]: Wed May  3 14:04:55 2017:     - Wed May  3 14:14:30 2017
542    [nugget]: Wed May  3 14:04:55 2017: Adding timer(1493817270)
541    [nugget]: Wed May  3 14:04:55 2017: Ready 1493817270 - Wed May  3 14:14:30 2017
540    [nugget]: Wed May  3 14:04:55 2017:  Wake 1493817300 - Wed May  3 14:15:00 2017
539    [nugget]: Wed May  3 14:04:55 2017:       Mon May  8 16:30:00 2017 +30m
538    [nugget]: Wed May  3 14:04:55 2017:  [19] 327802,1494257400,1494259200,20682
537    [nugget]: Wed May  3 14:04:55 2017:       Mon May  8 16:00:00 2017 +30m
536    [nugget]: Wed May  3 14:04:55 2017:  [18] 327802,1494255600,1494257400,20681
535    [nugget]: Wed May  3 14:04:55 2017:       Mon May  8 15:30:00 2017 +30m
534    [nugget]: Wed May  3 14:04:55 2017:  [17] 327802,1494253800,1494255600,20680
533    [nugget]: Wed May  3 14:04:55 2017:       Mon May  8 15:00:00 2017 +30m
532    [nugget]: Wed May  3 14:04:55 2017:  [16] 327802,1494252000,1494253800,20679
531    [nugget]: Wed May  3 14:04:55 2017:       Mon May  8 14:30:00 2017 +30m
530    [nugget]: Wed May  3 14:04:55 2017:  [15] 327802,1494250200,1494252000,20678
529    [nugget]: Wed May  3 14:04:55 2017:       Fri May  5 16:30:00 2017 +30m
528    [nugget]: Wed May  3 14:04:55 2017:  [14] 327802,1493998200,1494000000,20553
527    [nugget]: Wed May  3 14:04:55 2017:       Fri May  5 16:00:00 2017 +30m
526    [nugget]: Wed May  3 14:04:55 2017:  [13] 327802,1493996400,1493998200,20552
525    [nugget]: Wed May  3 14:04:55 2017:       Fri May  5 15:30:00 2017 +30m
524    [nugget]: Wed May  3 14:04:55 2017:  [12] 327802,1493994600,1493996400,20551
523    [nugget]: Wed May  3 14:04:55 2017:       Fri May  5 15:00:00 2017 +30m
522    [nugget]: Wed May  3 14:04:55 2017:  [11] 327802,1493992800,1493994600,20550
521    [nugget]: Wed May  3 14:04:55 2017:       Fri May  5 14:30:00 2017 +30m
520    [nugget]: Wed May  3 14:04:55 2017:  [10] 327802,1493991000,1493992800,20549
519    [nugget]: Wed May  3 14:04:55 2017:       Thu May  4 16:30:00 2017 +30m
518    [nugget]: Wed May  3 14:04:55 2017:  [9] 327802,1493911800,1493913600,20530
517    [nugget]: Wed May  3 14:04:55 2017:       Thu May  4 16:00:00 2017 +30m
516    [nugget]: Wed May  3 14:04:55 2017:  [8] 327802,1493910000,1493911800,20529
515    [nugget]: Wed May  3 14:04:55 2017:       Thu May  4 15:30:00 2017 +30m
514    [nugget]: Wed May  3 14:04:55 2017:  [7] 327802,1493908200,1493910000,20528
513    [nugget]: Wed May  3 14:04:55 2017:       Thu May  4 15:00:00 2017 +30m
512    [nugget]: Wed May  3 14:04:55 2017:  [6] 327802,1493906400,1493908200,20527
511    [nugget]: Wed May  3 14:04:55 2017:       Thu May  4 14:30:00 2017 +30m
510    [nugget]: Wed May  3 14:04:55 2017:  [5] 327802,1493904600,1493906400,20526
509    [nugget]: Wed May  3 14:04:55 2017:       Wed May  3 16:30:00 2017 +30m
508    [nugget]: Wed May  3 14:04:55 2017:  [4] 327802,1493825400,1493827200,20507
507    [nugget]: Wed May  3 14:04:55 2017:       Wed May  3 16:00:00 2017 +30m
506    [nugget]: Wed May  3 14:04:55 2017:  [3] 327802,1493823600,1493825400,20506
505    [nugget]: Wed May  3 14:04:55 2017:       Wed May  3 15:30:00 2017 +30m
504    [nugget]: Wed May  3 14:04:55 2017:  [2] 327802,1493821800,1493823600,20505
503    [nugget]: Wed May  3 14:04:55 2017:       Wed May  3 15:00:00 2017 +30m
502    [nugget]: Wed May  3 14:04:55 2017:  [1] 327802,1493820000,1493821800,20504
501    [nugget]: Wed May  3 14:04:55 2017:       Wed May  3 14:30:00 2017 +30m
500    [nugget]: Wed May  3 14:04:55 2017:  [0] 327802,1493818200,1493820000,20503
499    [nugget]: Wed May  3 14:04:55 2017:   Events: 1WWW.CHANNEL4.COM/50270/016|1WWW.CHANNEL4.COM/50270/017|1WWW.CHANNEL4.COM/50270/018|1WWW.CHANNEL4.COM/50270/019|1WWW.CHANNEL4.COM/50270/020|1WWW.CHANNEL4.COM/50270/021|1WWW.CHANNEL4.COM/50270/022|1WWW.CHANNEL4.COM/50270/023|1WWW.CHANNEL4.COM/50270/024|1WWW.CHANNEL4.COM/50270/025|1WWW.CHANNEL4.COM/50270/026|1WWW.CHANNEL4.COM/50270/027|1WWW.CHANNEL4.COM/50270/028|1WWW.CHANNEL4.COM/50270/029|1WWW.CHANNEL4.COM/50270/030|1WWW.CHANNEL4.COM/50270/031|1WWW.CHANNEL4.COM/50270/032|1WWW.CHANNEL4.COM/50270/033|1WWW.CHANNEL4.COM/50270/034|1WWW.CHANNEL4.COM/50270/035|1WWW.CHANNEL4.COM/55242/006|1WWW.CHANNEL4.COM/55242/007|1WWW.CHANNEL4.COM/55242/008|1WWW.CHANNEL4.COM/55242/009|1WWW.CHANNEL4.COM/55242/010|1WWW.CHANNEL4.COM/50270/041|1WWW.CHANNEL4.COM/50270/042|1WWW.CHANNEL4.COM/50270/043|1WWW.CHANNEL4.COM/50270/044|1WWW.CHANNEL4.COM/50270/045|
498    [nugget]: Wed May  3 14:04:55 2017:   Last Event: 0
497    [nugget]: Wed May  3 14:04:55 2017:   Recorded:
496    [nugget]: Wed May  3 14:04:55 2017:   CRID: 2/[WWW.CHANNEL4.COM/4SEV0170417315016127]
495    [nugget]: Wed May  3 14:04:55 2017:    @ 1493818200 (Wed May  3 14:30:00 2017)
494    [nugget]: Wed May  3 14:04:55 2017:   Come Dine with Me
493    [nugget]: Wed May  3 14:04:55 2017: Processing slot +48 (48)
492    [nugget]: Wed May  3 14:04:55 2017: slots(51, +48)
491    [nugget]: Wed May  3 14:04:55 2017: schedule.restore 25 = 1
490    [nugget]: Wed May  3 14:04:55 2017: schedule.restore 39 = 1
489    [nugget]: Wed May  3 14:04:55 2017: schedule reload complete (51).
488    [nugget]: Wed May  3 14:04:55 2017: Re-loading schedule database (51).
487    [nugget]: Wed May  3 14:04:52 2017: Deferred thread starting for '51:+48' (attempt 1)
486    [nugget]: Wed May  3 14:04:52 2017: Schedule failed to reload, deferring.
485    [nugget]: Wed May  3 14:04:52 2017: NULL database handle.
484    [nugget]: Wed May  3 14:04:52 2017: Schedule load failed.
483    [nugget]: Wed May  3 14:04:52 2017: Closing database.
482    [nugget]: Wed May  3 14:04:52 2017: schedule.stash 25 = 1
481    [nugget]: Wed May  3 14:04:51 2017: schedule.stash 39 = 1
480    [nugget]: Wed May  3 14:04:51 2017: Re-loading schedule database (51).
479    [nugget]: Wed May  3 14:04:51 2017: schedule save complete.
478    [nugget]: Wed May  3 14:04:51 2017: schedule save starting.
477    [nugget]: Wed May  3 14:03:42 2017: Removing timer for slot 48
476    [nugget]: Wed May  3 14:03:42 2017: Processing slot -48 (48)
475    [nugget]: Wed May  3 14:03:42 2017: slots(50, -48)
474    [nugget]: Wed May  3 14:03:42 2017: schedule.restore 25 = 1
473    [nugget]: Wed May  3 14:03:42 2017: schedule.restore 39 = 1
472    [nugget]: Wed May  3 14:03:42 2017: schedule reload complete (50).
471    [nugget]: Wed May  3 14:03:42 2017: Closing database.
470    [nugget]: Wed May  3 14:03:41 2017: schedule.stash 25 = 1
469    [nugget]: Wed May  3 14:03:41 2017: schedule.stash 39 = 1
468    [nugget]: Wed May  3 14:03:41 2017: Re-loading schedule database (50).
467    [nugget]: Wed May  3 14:03:41 2017: schedule save complete.
466    [nugget]: Wed May  3 14:03:41 2017: schedule save starting.
465    [nugget]: Wed May  3 14:03:41 2017: Persistent log starting, v0.97
464    +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Thanks - useful feedback there. I need to make the algorithm smarter and stop the entries from disappearing. Should have something ready in the next day or two.
 
CDwM is a pretty industrial test for this!

Having rewritten the skip code, I've set it to record and then skipped all of the 1500, 1600 & 1630 episodes.
To make things easier for me, I've made a change to the schedule view in the next beta. Episodes which need to be skipped but for which there is not yet room in the szRecordedProgCrid field are shown with a strike-through.

upload_2017-5-4_11-5-34.png

Here, the next 5 episodes have been skipped (today 1500, 1600, 1630 and tomorrow 1500, 1600) and those after are shown with the strike-through. I'll probably remove this in the final version but it makes it easier to see what's going on at the moment.

There's a new CLI utility to make it re-evaluate the skip lists with some debug output. This process usually runs automatically from the automatic processing scanner.
Code:
humax# /mod/webif/lib/bin/skips

--> SKIP: ulslot 2 szCRID WWW.CHANNEL4.COM/4SEV0170417315016127 skiplist WWW.CHANNEL4.COM/50270/022,WWW.CHANNEL4.COM/50270/024,WWW.CHANNEL4.COM/50270/025,WWW.CHANNEL4.COM/50270/027,WWW.CHANNEL4.COM/50270/029,WWW.CHANNEL4.COM/50270/030,WWW.CHANNEL4.COM/50270/032,WWW.CHANNEL4.COM/50270/034,WWW.CHANNEL4.COM/50270/035,WWW.CHANNEL4.COM/55242/007,WWW.CHANNEL4.COM/55242/009,WWW.CHANNEL4.COM/55242/010,WWW.CHANNEL4.COM/50270/042,WWW.CHANNEL4.COM/50270/044,WWW.CHANNEL4.COM/50270/045,WWW.CHANNEL4.COM/50270/047
TOSKIP:   WWW.CHANNEL4.COM/50270/022 WWW.CHANNEL4.COM/50270/024 WWW.CHANNEL4.COM/50270/025 WWW.CHANNEL4.COM/50270/027 WWW.CHANNEL4.COM/50270/029 WWW.CHANNEL4.COM/50270/030 WWW.CHANNEL4.COM/50270/032 WWW.CHANNEL4.COM/50270/034 WWW.CHANNEL4.COM/50270/035 WWW.CHANNEL4.COM/55242/007 WWW.CHANNEL4.COM/55242/009 WWW.CHANNEL4.COM/55242/010 WWW.CHANNEL4.COM/50270/042 WWW.CHANNEL4.COM/50270/044 WWW.CHANNEL4.COM/50270/045 WWW.CHANNEL4.COM/50270/047
RSVSKIP:  WWW.CHANNEL4.COM/50270/022 WWW.CHANNEL4.COM/50270/024 WWW.CHANNEL4.COM/50270/025 WWW.CHANNEL4.COM/50270/027 WWW.CHANNEL4.COM/50270/029
RECSKIP:
SKIPLIST: WWW.CHANNEL4.COM/50270/022 WWW.CHANNEL4.COM/50270/024 WWW.CHANNEL4.COM/50270/025 WWW.CHANNEL4.COM/50270/027 WWW.CHANNEL4.COM/50270/029
Skip list already correct, nothing to do.

TOSKIP: is the list of episodes that need to be skipped.
RSVSKIP: is what is currently set to be skipped in the schedule database szRecordedProgCrid field
RECSKIP: is the list of episodes in szRecordedProgCrid which are not in TOSKIP - these are usually the CRIDs of episodes which have been successfully recorded.
SKIPLIST: is the final list of up to 5 CRIDs which needs to be in szRecordedProgCrid

In the case that there are any entries in RECSKIP, then the new system uses 3 of the five available slots for settings skips and the other 2 for holding the CRIDs of recorded episodes in an attempt to stop recording repeats. It's always going to be tricky with anything that has this many episodes, but this should get us much closer.

The new beta will be uploaded tonight.
 
I will look forward to it.

I wonder why Humax limited szRecordedProgCrid to 5 entries when they allow 20 in szEventToRecord (not quite enough for all the episodes of CDwM in the EPG). 5 is not sufficient for duplicate episode detection in any reasonably long series.

The whole skip problem would have been avoided if we could zap the Humax code to allow it to keep 25 entries in szRecordedProgCrid!
 
The whole skip problem would have been avoided if we could zap the Humax code to allow it to keep 25 entries in szRecordedProgCrid!
Absolutely. They actually allocate 80 bytes of memory for each entry, 400 bytes in total and it's part of a structure on the heap making it hard to tweak.
I wonder what would happen if any CRID was > 80 characters!
Here's the 5..

upload_2017-5-4_13-6-3.png
 
I'll know more after 3pm but everything looks good with my test case this morning.
Schedule backup and restore doesn't currently handle skips but that will be sorted for the next beta.
 
Conflicts with skipped entries are showing on the webif Recording list view but not on the Visual schedule, all of the RS views are OK

Humax HDR Fox T2 (Humax) - Schedule - Mozilla Firefox 05052017 111736.jpg
Here, the next 5 episodes have been skipped (today 1500, 1600, 1630 and tomorrow 1500, 1600) and those after are shown with the strike-through. I'll probably remove this in the final version but it makes it easier to see what's going on at the moment.
I quite like the strike through display, If you do decide you remove it do it via a CSS hide rather than physical removal - that way it can be optional through tweaking EXTRA.css
I'll know more after 3pm but everything looks good with my test case this morning.
It will be 5pm with my skips but so far so good.
There were a few minor display anomalies after the initial skip set up (unexpected entry in the recording list) but they have gone away now, I will try to capture if they recur.
 
Thanks for spending your tuits here!
I'll fix the conflict detection to account for skips.
I quite like the strike through display
Me too, but it is only easy to do on the one page (of the four).. would it be too inconsistent to leave it as-is?
 
Status
Not open for further replies.
Back
Top