Compare commits

...

3 Commits

Author SHA1 Message Date
prpr 39d18b4ff0 Fix missing pathname when scanning for .ts files
Don't abort on safe_delete error
2023-05-28 19:24:53 +01:00
prpr c9100acf66 Don't overwrite instance variable defaults if .hmt file corrupt 2023-05-28 19:22:03 +01:00
prpr 0ab8fb125d Don't crash if file doesn't exist 2023-05-28 19:21:06 +01:00
3 changed files with 16 additions and 13 deletions

View File

@ -22,12 +22,13 @@ proc ::expire::directory {dir} {
set entries [lsort \
-command [lambda {a b} {upvar getter g; expr {[$g $a] - [$g $b]}}]\
[lmap i [readdir -nocomplain $dir] {
set fname "$dir/$i"
if {[string match {*.hmt} $i]} {
if {[file exists "[file rootname $i].ts"]} continue
if {[catch {set ts [ts parse "$dir/$i" [ts exec "$dir/$i"]]}]}\
if {[file exists "[file rootname $fname].ts"]} continue
if {[catch {set ts [ts parse $fname [ts exec $fname]]}]}\
continue
} elseif {[string match {*.ts} $i]} {
if {[catch {set ts [ts fetch "$dir/$i"]}]} continue
if {[catch {set ts [ts fetch $fname]}]} continue
} else continue
if {$ts == 0} continue
list $ts
@ -68,11 +69,9 @@ proc ::expire::directory {dir} {
}
}
log " Removing."
if {![safe_delete $file]} {
log "Unknown error in safe_delete, aborting." 0
break
if {[safe_delete $file]} {
log " EXPIRE: removed $file" 0
}
log " EXPIRE: removed $file" 0
::auto::recalcdir $dir
incr num -1
}

View File

@ -28,6 +28,8 @@ if {![exists -proc _del_bindir]} {
proc safe_delete {file {px ""}} {
global _del_dustbin
if {![file exists $file]} return 1
# Check if undelete is installed and that the file being
# deleted is not already in the dustbin.
set dustbin 1

View File

@ -61,14 +61,16 @@ ts method size {} {
ts method _parse {line} {
set vars [split $line "\t"]
lassign [split $line "\t"] \
title synopsis definition channel_num channel_name \
start end flags_list guidance bookmarks schedstart scheddur \
genre resume status seriesnum episodenum episodetot
if {[llength $vars] >= 18} {
lassign $vars \
title synopsis definition channel_num channel_name \
start end flags_list guidance bookmarks schedstart scheddur \
genre resume status seriesnum episodenum episodetot
set synopsis [xconv $synopsis]
set synopsis [xconv $synopsis]
set flags [split [string range $flags_list 0 end-1] ,]
set flags [split [string range $flags_list 0 end-1] ,]
}
}
ts method lastmod {} {