View Full Version : New TWP module: NoReRecord
SteveT
07-28-2007, 12:08 PM
I have created a new module to maintain the TiVo's NoReRecord list. This list is used to prevent automatic recording of shows within 30 days of their deletion or cancellation from the TiVo. (Others have referred to it as the "28-day rule", so maybe the timing is different on different systems.)
This module allows you to see the shows on the NoReRecord list. Using the new TWP client-side-sort feature, you can arrange the list by series, date, etc. You can also filter the list by Program, Date or Cancel Reason. There are two check boxes available:
Keep - Resets the Cancel date to prevent the show from dropping off the NoReRecord list. This extends the time until the show will be rerecorded, by the number of days selected in "Keep Duration".
Remove - Deletes the show from the NoReRecord list. This allows the TiVo to automatically record this show the next time it is available.
The first column (NoReRecord Date) indicates when the Tivo will consider a show eligible for auto-recording again. This is the value that is changed by the Keep option.
I've attached the module to this post. To install: copy norerecord.itcl to your modules folder and twp_tablefilter.js to your scripts folder and restart TWP. Note that this requires the latest TWP 2.1.b3.
Please use at your own risk. I have tested this on my systems, but I'd like some feedback from folks with other software versions. I'd also like any suggestions on how to make this more useful.
EDIT: updated attachment to v1.6 to add support for 2.1.b3
RandC
07-28-2007, 07:08 PM
Please use at your own risk. I have tested this on my systems, but I'd like some feedback from folks with other software versions. I'd also like any suggestions on how to make this more useful.Do you need to list the TIVOR entries?
I modified code as to not list TIVOR entires since they will not override set recordings, and I would be concerned that a no-rerecord on TIVOR would mean no guide data download for an extended period of time. I am sure there is a better way to accomplish this but here is what I did. I tied this in with tivoweb.cfg ShowTivorEntries setting and code. Quick test on my machine as worked as planned.
RetryTransaction {
set rec [db $db openid $fsid ]
set creason [dbobj $rec get CancelReason]
set canceldate [dbobj $rec get CancelDate]
set canceldatestr [clock format [expr $canceldate * 86400] -format "%1m/%1d/%Y"]
set show [dbobj $rec get Showing]
set station [dbobj $show get Station]
set callsign [dbobj $station get CallSign]
norerecord_showinfo $show inf
set id [dbobj $inf(program) get TmsId]
set id2 [dbobj $inf(program) fsid]
}
if { $callsign != "TIVOR" || $::conf(ShowTivorEntries) == 1 } {
set td_keep [td [html_form_checkbox "cb_keep_$fsid" ""]]
set td_rmv [td [html_form_checkbox "cb_rmv_$fsid" ""]]
puts $chan [tr "" [td $canceldatestr] [td $inf(oad)] [td $inf(date)] [td $inf(title)] [td $inf(episode)] [td $reason] $td_keep $td_rmv ]
incr numlisted
}
RandC
07-28-2007, 07:13 PM
Using the new TWP client-side-sort feature, you can arrange the list by series, date, etc.I am still getting caught up on TWP 2.0, what and where is this feature?
SteveT
07-28-2007, 10:33 PM
Do you need to list the TIVOR entries?....Excellent suggestion. I'll incorporate it into the next update.
SteveT
07-28-2007, 10:40 PM
I am still getting caught up on TWP 2.0, what and where is this feature?In any of the tables which list shows, you can click on a column heading, and the table will be sorted (client-side) based on that column. Click it again to sort descending. If the list is very long (such as NoReRecord can get), it takes a few seconds.
RandC
07-29-2007, 12:00 AM
In any of the tables which list shows, you can click on a column heading, and the table will be sorted (client-side) based on that column. Click it again to sort descending. If the list is very long (such as NoReRecord can get), it takes a few seconds.Well now that's just awesome!
SteveT
08-09-2007, 01:09 PM
Do you need to list the TIVOR entries?I have modified the code based on RandC's suggestion. TIVOR entries (nightly downloads) are now ignored by this list, so they will not be affected by updates.
See first post for new version.
Soapm
08-09-2007, 10:46 PM
Yep, this is what I needed. I emptied the deleted folder then cleared them fro the list and not I see them in the todo list. Thanks
One suggestion, can the check mark or some indicator remain on the ones I have already marked as keep? I assume that is a permanent block so I don't have to worry about them making the todo list again unless I change the setting????
SteveT
08-09-2007, 11:42 PM
Yep, this is what I needed. I emptied the deleted folder then cleared them fro the list and not I see them in the todo list. ThanksCool.One suggestion, can the check mark or some indicator remain on the ones I have already marked as keep? I assume that is a permanent block so I don't have to worry about them making the todo list again unless I change the setting????No, "keep" just moves the cancel date out to 60 days from current date, so you'll need to "keep" them again within 90 days. I'm probably going to change that, but I'm not sure how best to handle it yet.
RandC
08-10-2007, 03:46 PM
Please use at your own risk. I have tested this on my systems, but I'd like some feedback from folks with other software versions. I'd also like any suggestions on how to make this more useful.
How about some channel numbers to show which station it is showing on?
ciper
08-10-2007, 08:37 PM
This looks like exactly what I have been looking for. However I cant understand one thing in the firs post. What does
"This extends the time until the show will be rerecorded."
mean?
SteveT
08-10-2007, 09:11 PM
This looks like exactly what I have been looking for. However I cant understand one thing in the firs post. What does
"This extends the time until the show will be rerecorded."
mean?Shows on the NoReRecord list have a CancelDate value that is set when the show is deleted or cancelled. Normally, a show stays on the list until its CancelDate exceeds 30 days in the past. (Today, August 10th, shows with CancelDate of July 11th will be dropped from NoReRecord). When a show is dropped from the NoReRecord list, reruns of that show will then be added to the ToDo list (for Season Passes and WishLists).
So, "Keep"ing a show using the module simply changes the CancelDate by resetting it to 60 days in the future. For example, I just "kept" a show which had an August 7 CancelDate, and the module changed the date to October 10. If I never touch that entry again, that show might be added to the To-Do list on October 11.
I hope that helped explain it a bit better.
I think I'll be changing the 60 days, but I'm not sure what to change it to, or if I should make it user-selectable, or what.
Soapm
08-10-2007, 10:52 PM
Is it possible to display the date? Otherwise we have to keep track of the date for each deleted show.
ciper
08-10-2007, 10:54 PM
If you make it user selectable then you are my savior.
Does the setting have a year value? If not could I set the expiry for 11 months and 30 days?
SteveT
08-10-2007, 10:57 PM
Is it possible to display the date? Otherwise we have to keep track of the date for each deleted show.The CancelDate is the first column of the table. (Or are you asking about another date?)
Don't forget you can sort by clicking the heading, then you can see the ones which will expire soonest at the top.
SteveT
08-10-2007, 11:07 PM
If you make it user selectable then you are my savior.
Does the setting have a year value? If not could I set the expiry for 11 months and 30 days?The date can handle up to 2085 or somesuch.
I'm thinking maybe a drop-down box with typical values (30,60,90,180 days,1,2,5,10 years)? Checking "Keep" would then extend a show that far into the future.
How's that sound?
ciper
08-10-2007, 11:24 PM
The keep option would set the show to not record for 78 years? If I can modify the date again later then it sounds good. When does the tivo recheck these expiration dates and can we initiate an "update" manually? Say I see the episode will be on in 8 hours and I want to change the option from "keep" to "yesterday" and then run an update so it records that night?
Is it possible to automate any of this? Say I want it to never rerecord episodes of a certain season pass it would automatically mark them all to a certain value?
SteveT
08-10-2007, 11:47 PM
The keep option would set the show to not record for 78 years? If I can modify the date again later then it sounds good.I've not tried it that far out, but I have quite a few set to 2011 and nothing exploded. Yes, the CancelDate can be changed multiple times.When does the tivo recheck these expiration dates and can we initiate an "update" manually?I'm not certain, but on my boxes, the cleanup of the list happens at night. I do not know how to initiate it manually.Say I see the episode will be on in 8 hours and I want to change the option from "keep" to "yesterday" and then run an update so it records that night?Actually, you should probably just press Record on that episode. :) However, you can use the "Remove" flag to remove the show from the NoReRecord list, which happens immediately. I'm not certain of the timing of the TiVo looking for new ToDo entries, but I've seen it happen inside an hour. I keep hoping one of the gurus of TiVo internals will step in and explain the background processes to me.Is it possible to automate any of this? Say I want it to never rerecord episodes of a certain season pass it would automatically mark them all to a certain value?"Automatically" would require something other than a TWP module. I'm not ready to take that on yet.
However, I've considered "filtering" the list to a single Season Pass or WishList entry, then the "Select All" checkbox would be more useful. The column sort at least lets you show them all together, but on a multi-year show, that's still a lot of checkboxes.
As you can see, this is still a long way from being an easy-to-use tool for the masses, but with some time and good suggestions, it'll get there.
SteveT
08-11-2007, 06:07 PM
OK, based on feedback here, I've updated the module a bit. Please give it a try and continue to provide feedback. (new version attached to first post of this thread)
ciper
08-11-2007, 07:13 PM
Can you make a comment section at the top of the file that says what it does, where to get it and the version number?
Instead of making the change automatic like I asked in the previous post do you think its possible to change the default aging behavior? I'd like to tell the tivo to set the no-record-expiration to 300 days instead of 30. I could then use the no-record module to adjust the ones I wanted to be different. What do you think?
I have an idea on how to expand this module (or perhaps a seperate companion module. Would it be possible to change the expiration date of recordings that have not been deleted? Say I have an episode that has a yellow exclamation ball and I want to save it for an extra month.
I want to test for you but currently I have no entries on the list. I think it may be normal behavior though.
http://i10.tinypic.com/5yrwba0.jpg
SteveT
08-11-2007, 08:19 PM
Can you make a comment section at the top of the file that says what it does, where to get it and the version number?Sure, once I figure out how to explain what it does :)Instead of making the change automatic like I asked in the previous post do you think its possible to change the default aging behavior? I'd like to tell the tivo to set the no-record-expiration to 300 days instead of 30. I could then use the no-record module to adjust the ones I wanted to be different. What do you think?That would require something other than a TWP module. It seems likely that it is somewhere in the tivoapp binary and could be "poked", but I do not know how to find it.I have an idea on how to expand this module (or perhaps a seperate companion module. Would it be possible to change the expiration date of recordings that have not been deleted?The TiVo sets the CancelDate when a show is deleted. Again, maybe a tivoapp poke could change the default behavior. Before they're deleted, the CancelDate is null.
ciper
08-12-2007, 01:01 AM
I think the module might not be working properly. At first I thought having an empty list was normal because I hadn't deleted or expired any shows then I realized my girlfriend has been deleting items (Big Brother, E news, Daily 10).
I also have a season pass set to record all episodes of a series and recently had to delete an item (tivo crashed, missed part of the show, ended up in two parts). If I view my deleted shows list (in TWP where you can undelete) there are at least 40 items. Am I missing something?
I'm no longer afraid to mess up my Tivo so tell me what I can test.. If it helps any I am running a Sony SVR-2000 with TWP 2.0.0 (oztivo-070729) running on a 500gb A drive, 200gb B drive and 512mb cache card. I also have 1.4gb of swap enabled (because of another adventure).
Sure, once I figure out how to explain what it does :)
I see double negatives as an inevitability ;)
That would require something other than a TWP module. It seems likely that it is somewhere in the tivoapp binary and could be "poked", but I do not know how to find it.
Thinking about this reminds me of the bufferhack scripts.
The TiVo sets the CancelDate when a show is deleted. Again, maybe a tivoapp poke could change the default behavior. Before they're deleted, the CancelDate is null.
So canceldate is an on deletion action. I didn't mean to change the default for all recordings but just modify one somehow so that it is kept longer. Is it possible to modify the episode data to change its record date and this would change when its deleted?
Soapm
08-12-2007, 03:53 AM
Perfect!!!
SteveT
08-12-2007, 02:36 PM
I think the module might not be working properly. At first I thought having an empty list was normal because I hadn't deleted or expired any shows then I realized my girlfriend has been deleting items (Big Brother, E news, Daily 10).
I also have a season pass set to record all episodes of a series and recently had to delete an item (tivo crashed, missed part of the show, ended up in two parts). If I view my deleted shows list (in TWP where you can undelete) there are at least 40 items. Am I missing something?Items which can be Undeleted do not show up on the NoReRecord list.
Using the MFS module, browse to Recording, then to NoReRecord. Do you have any items which do NOT have 99999 as the third part of the name? If so, click on them, then Showing, then Station to see what the Callsign is. The module filters out 99999 and TIVOR entries, so if you find something else, let me know.
ciper
08-12-2007, 09:54 PM
All of the entries under /mfs/recording/norerecord have 99999 as the third column of the name.
When will an undelete item become freed and become a non rerecordable item? I hope its not based on disk space.
SteveT
08-12-2007, 10:10 PM
All of the entries under /mfs/recording/norerecord have 99999 as the third column of the name.
When will an undelete item become freed and become a non rerecordable item? I hope its not based on disk space.I believe it is indeed based on diskspace, basically when the space is reused for another show, the item will no longer be on the Undelete list.
Soapm
08-12-2007, 10:46 PM
What are the changes we can get a way to hide the ones we set not to record for another year? Maybe another check box to hide then a link that shows all or something. I've already got 40 in my list and I believe this is my second or third day.
ciper
08-13-2007, 05:24 AM
I believe it is indeed based on diskspace, basically when the space is reused for another show, the item will no longer be on the Undelete list.
Well shit. Thats no good. I have approximately 600gb of free space at the moment....
What are the changes we can get a way to hide the ones we set not to record for another year? Maybe another check box to hide then a link that shows all or something. I've already got 40 in my list and I believe this is my second or third day.
How about an option like "Only display disabled recordings that will expire in the next 32 days" which would filter out all the modified items?
SteveT
08-13-2007, 12:23 PM
What are the changes we can get a way to hide the ones we set not to record for another year? Maybe another check box to hide then a link that shows all or something. I've already got 40 in my list and I believe this is my second or third day.I'm planning to add "filters" to columns:
1) Program
2) NoReRecord Date
3) Reason
Then I'll have to change the SelectAll function to only affect visible rows. This might take a while, but I believe it'll be worth the effort.
Soapm
08-14-2007, 12:28 AM
I'm planning to add "filters" to columns:
1) Program
2) NoReRecord Date
3) Reason
Then I'll have to change the SelectAll function to only affect visible rows. This might take a while, but I believe it'll be worth the effort.
In case I forgot to say it, THANKS!!! Really great app...
ciper
08-14-2007, 06:23 AM
I found something of interest that is sort of related to this module. A script exists that can change all entries in the NPL to keep until 24855 (Jan 1st 2038) which is the default "forever" setting. http://www.tivocommunity.com/tivo-vb/archive/index.php/t-293006.html
SteveT
08-16-2007, 11:18 PM
I have added client-side filters for Program, Reason and Date. I had to modify the column sort and the CheckAll logic, so you'll need to install a couple of .js scripts in addition to the .itcl module.
Now you can sort and filter as needed, using the header check box to check the visible boxes, then press Update when you're ready to.
See first post for download, and keep the feedback and suggestions coming!
Soapm
08-17-2007, 12:34 AM
Works perfoect for me. I especially like picking the program from the drop down. That was brilliant!
SteveT
08-18-2007, 02:56 PM
Thats no good. I have approximately 600gb of free space at the moment....While deleted shows won't hit the list until the disk space is reused, cancelled shows should hit immediately. So you should see anything you've deleted from the ToDo list.
ciper
08-18-2007, 05:50 PM
Deleted from the ToDo list! Brilliant. I will schedule some random shows to record and then remove them from the todo list so that I can help test this module.
Im curious what happens to shows that do not label themselves properly? E News and Mad Money come to mind (no titles or episode numbers)
SteveT
08-21-2007, 02:09 PM
I've updated the attachment in the first post to include some minor cosmetic enhancements. Please give it a try and advise any problems.
Im curious what happens to shows that do not label themselves properly? E News and Mad Money come to mind (no titles or episode numbers)I'm not sure. I don't think I have any SP's for such, but I'll take a look tonight.
SteveT
08-23-2007, 02:59 PM
Im curious what happens to shows that do not label themselves properly? E News and Mad Money come to mind (no titles or episode numbers)I have an SP to a show which does not have any episode information. The entries for this show DO NOT show up in the NoReRecord list at all. Can you check your list after deleting one or more of these, and see if you see the same behavior?
elroy
10-03-2007, 11:17 PM
Never mind, a restart fixed it.
Did I mention how muck I like this hack?!?!!!
SteveT
10-16-2007, 09:44 AM
I have updated the attachment in the first post. It added compatibility with TWP 2.1.b1. No new functionality.
Soapm
11-29-2007, 02:06 AM
I have updated the attachment in the first post. It added compatibility with TWP 2.1.b1. No new functionality.
Here I came and searched out this thread to learn that you already updated to 2.1... That is what I wanted to ask. You the Man SteveT. I guess I can update TWP now.
SteveT
11-29-2007, 09:13 AM
... you already updated to 2.1... Thanks. I updated it again just now, this time for 2.1.b2 (the latest version available). No other changes.
unclemoosh
01-26-2008, 08:40 PM
Thanks. I updated it again just now, this time for 2.1.b2 (the latest version available). No other changes.
I tried to make changes for compatibility for 2.1.b3, but apparently I don't know as much as I think I know. :(
-------INTERNAL SERVER ERROR------ --cut here--action:norerecord, path:, env:, code:'NONE'
can't read "TWP::VERSION": no such variable
while executing
"string compare $TWP::VERSION "2.1.b3""
(procedure "MOD::action_norerecord" line 6)
invoked from: "$cmd $chan $path $env"
--cut here--
SteveT
01-26-2008, 09:01 PM
I tried to make changes for compatibility for 2.1.b3.....Oh, thanks for reminding me. I've updated the attachment in the first post.
unclemoosh
01-26-2008, 09:15 PM
Oh, thanks for reminding me. I've updated the attachment in the first post.
Excellent!
Thanks for everything.
unclemoosh
01-26-2008, 09:29 PM
Ooops!
-------INTERNAL SERVER ERROR------ --cut here--action:norerecord, path:, env:, code:'errDbNotFound'
can't open object (errDbNotFound)
while executing
"db $db openid $fsid "
("uplevel" body line 2)
invoked from: "uplevel $body"
invoked from: "transaction {uplevel $body}"
(procedure "RetryTransaction" line 5)
invoked from: "RetryTransaction {
set rec [db $db openid $fsid ]
set show [dbobj $rec get Showing]
set station [dbobj $show get Station]
set callsign [dbobj $station..."
("uplevel" body line 4)
invoked from: "uplevel $body"
(procedure "ForeachMfsFile" line 6)
invoked from: "ForeachMfsFile fsid name type "/Recording/NoReRecord" "" {
set recdate [split $name ":"]
if {[lindex $recdate 2] != 99999} {
RetryTransaction {
set re..."
(procedure "MOD::action_norerecord" line 70)
invoked from: "$cmd $chan $path $env"
--cut here--
SteveT
01-26-2008, 09:46 PM
Ooops!
-------INTERNAL SERVER ERROR------ --cut here--action:norerecord, path:, env:, code:'errDbNotFound'
can't open object (errDbNotFound)
That's a pretty generic message that sometimes goes away with a full restart, and almost always goes away with a reboot.
unclemoosh
01-27-2008, 09:46 AM
That's a pretty generic message that sometimes goes away with a full restart, and almost always goes away with a reboot.
You're right. A reboot cleared it.
Thanks.
Throg
01-28-2008, 12:27 PM
I just tried to use norerecord 1.6 on a SA S2 (TCD24004A) with TWP 2.0 (tivowebplus-v2.0.0-071214.tgz). The code below is what appeared by merely clicking on the module:
INTERNAL SERVER ERROR
--cut here--
action_norerecord '' ''
invalid command name "eval_env"
while executing
"eval_env"
(procedure "MOD::action_norerecord" line 9)
invoked from within
"$cmd $p1 $p2 $p3"
(procedure "do_action" line 19)
invoked from within
"do_action $action $chan $part $env 1"
--cut here--
Hey Throg - that eval command doesn't exist in 2.0, I think BTUx9 added it in v2.1.b1. So that's the minimum version of TWP you'd need. Best off running the latest beta, though...
I just tried to use norerecord 1.6 on a SA S2 (TCD24004A) with TWP 2.0 (tivowebplus-v2.0.0-071214.tgz). The code below is what appeared by merely clicking on the module:
INTERNAL SERVER ERROR
--cut here--
action_norerecord '' ''
invalid command name "eval_env"
while executing
"eval_env"
(procedure "MOD::action_norerecord" line 9)
invoked from within
"$cmd $p1 $p2 $p3"
(procedure "do_action" line 19)
invoked from within
"do_action $action $chan $part $env 1"
--cut here--
petestrash
03-05-2008, 01:55 PM
I love this module, but have a small problem.
I have an S1 running OzTiVo r1.6.2 which is basically US V3.0, and using IE 7.0.5730.11.
When I try to check the box to select all programs, only that box is checked and not any of the programs.
I have been selecting them individually, which works fine. But, it would be nice to be able to select all.
Peter.
SteveT
03-05-2008, 02:07 PM
I love this module, but have a small problem.
I have an S1 running OzTiVo r1.6.2 which is basically US V3.0, and using IE 7.0.5730.11.
When I try to check the box to select all programs, only that box is checked and not any of the programs.
I have been selecting them individually, which works fine. But, it would be nice to be able to select all.
Peter.That is handled by a client-side javascript. Do you have scripting enabled?
If so, you might just need to Ctrl-Refresh your browser and reload the javascript. I've seen the same symptom when my cache got confused.
petestrash
03-11-2008, 10:27 PM
Scripting of Java applets is enabled.
CTRL+F5 doesn't seem to make any difference.
Restarting TWP also doesn't make any difference.
Also tried a different PC running Vista and IE7 with the same results.
Any other PC security settings that may be causing it?
Peter
ciper
03-12-2008, 05:43 AM
The similarity I see between both systems is IE7. Although it should work fine why not grab a portable version of Firefox and try that? http://portableapps.com/apps/internet/firefox_portable
petestrash
03-12-2008, 06:06 AM
I already had firefox 2.0.0.6 installed and it behaves the same. Just upgraded firefox to 2.0.0.12 and also still the same.
The thing is the same feature works fine in other modules eg all the todo lists & now playing lists. If I click, all the boxes are automatically checked.
Peter.
SteveT
03-12-2008, 09:22 AM
....The thing is the same feature works fine in other modules eg all the todo lists & now playing lists. If I click, all the boxes are automatically checked....Thanks, that narrows it down quite a bit. This page uses its own javascript file (twp_tablefilter.js) that has to be installed in addition to the norerecord.itcl file. It is in the zip. Make sure you put it into the scripts folder, not the modules folder.
FYI: The "normal" SelectAll toggles every box in the table. NoReRecord's SelectAllVisible toggles only the visible boxes, leaving hidden rows unchanged. This is useful in conjunction with the filters because you can make multiple selections before pressing Update.
petestrash
03-13-2008, 11:07 AM
Yep, that was it.
Did I miss an install guide somewhere?
Must admit I didn't check the contents of the Zip before expanding to the modules directory.
Thanks, now this module rocks even more. Definately a worthy addition to the next TWP package.
Peter.
SteveT
03-13-2008, 11:38 AM
Yep, that was it.
Did I miss an install guide somewhere? .....The initial post in this thread mentioned it, but it's not overly obvious. I've reworded it to make it a bit clearer. I'll also include a readme in the next .zip.
Soapm
04-06-2008, 04:27 AM
Suggestion... Perhaps a backup can be made for this setting. I have a ton of shows in my no record file and I would like to back them up in case my upgrade to 9.3 goes wrong.
SteveT
04-08-2008, 12:03 PM
Suggestion... Perhaps a backup can be made for this setting. I have a ton of shows in my no record file and I would like to back them up in case my upgrade to 9.3 goes wrong.Thanks for the suggestion, but the date that NoReRecord changes is stored directly in the mfs data for each show, so there's not much point in backing it up. If you lose that, you've lost the shows themselves.
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.