2.1.0 with recurse rules
This commit is contained in:
parent
1bc30bff86
commit
885db239e7
@ -1,9 +1,9 @@
|
|||||||
Package: sweeper
|
Package: sweeper
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: misc
|
Section: misc
|
||||||
Version: 2.0.17
|
Version: 2.1.0
|
||||||
Architecture: mipsel
|
Architecture: mipsel
|
||||||
Maintainer: af123@hummypkg.org.uk
|
Maintainer: af123@hummypkg.org.uk
|
||||||
Depends: webif(>=1.2.5-10)
|
Depends: webif(>=1.3.0-1)
|
||||||
Description: Sweeper is a package for managing recordings in a variety of ways using custom rules [See forum for details]
|
Description: Sweeper is a package for managing recordings in a variety of ways using custom rules [See forum for details]
|
||||||
Tags: http://hummy.tv/forum/threads/5138/
|
Tags: http://hummy.tv/forum/threads/5138/
|
||||||
|
@ -985,7 +985,7 @@ proc ::sweeper::apply_folder_rules {dir rules} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc ::sweeper::apply_rules {dir rules {depth 0}} {
|
proc ::sweeper::apply_rules {dir rules {depth 0} {seen {}}} {
|
||||||
|
|
||||||
log "" 2
|
log "" 2
|
||||||
log "--- SWEEP($depth) STARTING FOR $dir ---" 2
|
log "--- SWEEP($depth) STARTING FOR $dir ---" 2
|
||||||
@ -996,7 +996,14 @@ proc ::sweeper::apply_rules {dir rules {depth 0}} {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
set moredepth 0
|
file stat $dir st
|
||||||
|
set key "$st(dev):$st(ino)"
|
||||||
|
if {$key in $seen} {
|
||||||
|
log "Already seen $dir ($key)" 2
|
||||||
|
return
|
||||||
|
}
|
||||||
|
lappend seen $key
|
||||||
|
|
||||||
set dirs {}
|
set dirs {}
|
||||||
foreach e [readdir -nocomplain $dir] {
|
foreach e [readdir -nocomplain $dir] {
|
||||||
set entry "$dir/$e"
|
set entry "$dir/$e"
|
||||||
@ -1031,16 +1038,28 @@ proc ::sweeper::apply_rules {dir rules {depth 0}} {
|
|||||||
if {[llength $rule] < 3} continue
|
if {[llength $rule] < 3} continue
|
||||||
set rule [lassign $rule level]
|
set rule [lassign $rule level]
|
||||||
if {$level < $depth} continue
|
if {$level < $depth} continue
|
||||||
if {$level > $depth} { incr moredepth }
|
|
||||||
if {[::sweeper::runrule $ts $rule 0]} break
|
if {[::sweeper::runrule $ts $rule 0]} break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set moredepth 0
|
||||||
|
foreach rule $rules {
|
||||||
|
set level [lindex $rule 0]
|
||||||
|
if {$level > $depth} {
|
||||||
|
incr moredepth
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# No rules require greater recursion
|
# No rules require greater recursion
|
||||||
if {!$moredepth} return
|
if {!$moredepth} return
|
||||||
|
|
||||||
foreach dir $dirs {
|
foreach dir $dirs {
|
||||||
::sweeper::apply_rules $dir $rules $($depth + 1)
|
::sweeper::apply_rules $dir $rules $($depth + 1) $seen
|
||||||
|
|
||||||
|
file stat $dir st
|
||||||
|
set key "$st(dev):$st(ino)"
|
||||||
|
lappend seen $key
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ Add pre-defined ruleset:
|
|||||||
</span>
|
</span>
|
||||||
<span class=comment>Unnamed rule</span>
|
<span class=comment>Unnamed rule</span>
|
||||||
<a class=editcomment href=#>
|
<a class=editcomment href=#>
|
||||||
<img src=/img/context/edit.png>
|
<img src=img/edit.png>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<span class=legendright>
|
<span class=legendright>
|
||||||
@ -78,19 +78,19 @@ Add pre-defined ruleset:
|
|||||||
title="Enable/Disable Rule">
|
title="Enable/Disable Rule">
|
||||||
</a>
|
</a>
|
||||||
<a class=delrule href=#>
|
<a class=delrule href=#>
|
||||||
<img src=/img/context/delete.png
|
<img src=img/delete.png
|
||||||
title="Delete Rule">
|
title="Delete Rule">
|
||||||
</a>
|
</a>
|
||||||
<a class=cprule href=#>
|
<a class=cprule href=#>
|
||||||
<img src=/img/context/page_white_copy.png
|
<img src=img/page_white_copy.png
|
||||||
title="Duplicate Rule">
|
title="Duplicate Rule">
|
||||||
</a>
|
</a>
|
||||||
<a class=uprule href=#>
|
<a class=uprule href=#>
|
||||||
<img src=/img/nav/up.png
|
<img src=img/up.png
|
||||||
title="Move Rule Up">
|
title="Move Rule Up">
|
||||||
</a>
|
</a>
|
||||||
<a class=downrule href=#>
|
<a class=downrule href=#>
|
||||||
<img src=/img/nav/down.png
|
<img src=img/down.png
|
||||||
title="Move Rule Down">
|
title="Move Rule Down">
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
@ -100,7 +100,7 @@ Add pre-defined ruleset:
|
|||||||
</div>
|
</div>
|
||||||
<div class="recursecomment hidden">
|
<div class="recursecomment hidden">
|
||||||
For each recording and recordings within folders
|
For each recording and recordings within folders
|
||||||
(<span class=depth></span> deep<a class=editdepth href=#><img src=/img/context/edit.png></a>):
|
(<span class=depth></span> deep<a class=editdepth href=#><img src=img/edit.png></a>):
|
||||||
</div>
|
</div>
|
||||||
<a href=# class=addcriterion>
|
<a href=# class=addcriterion>
|
||||||
<img src=img/plus.png
|
<img src=img/plus.png
|
||||||
|
@ -25,16 +25,28 @@ proc endclock {size} {
|
|||||||
|
|
||||||
proc register {args} {}
|
proc register {args} {}
|
||||||
|
|
||||||
proc scan_run {dir flag callback} {
|
proc scan_run {dir flag callback {seen {}}} {
|
||||||
global dustbin
|
global dustbin
|
||||||
|
|
||||||
if {[string match {\[*} [string trimleft [file tail $dir]]]} return
|
if {[string match {\[*} [string trimleft [file tail $dir]]]} return
|
||||||
|
|
||||||
|
file stat $dir st
|
||||||
|
set key "$st(dev):$st(ino)"
|
||||||
|
if {$key in $seen} {
|
||||||
|
log "Already seen $dir ($key)" 2
|
||||||
|
return
|
||||||
|
}
|
||||||
|
lappend seen $key
|
||||||
|
|
||||||
if {[file exists "$dir/.$flag"]} { $callback $dir }
|
if {[file exists "$dir/.$flag"]} { $callback $dir }
|
||||||
|
|
||||||
foreach entry [readdir -nocomplain $dir] {
|
foreach entry [readdir -nocomplain $dir] {
|
||||||
if {[file isdirectory "$dir/$entry"]} {
|
if {[file isdirectory "$dir/$entry"]} {
|
||||||
scan_run "$dir/$entry" $flag $callback
|
scan_run "$dir/$entry" $flag $callback $seen
|
||||||
|
|
||||||
|
file stat "$dir/$entry" st
|
||||||
|
set key "$st(dev):$st(ino)"
|
||||||
|
lappend seen $key
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BIN
webif/plugin/sweeper/img/delete.png
Normal file
BIN
webif/plugin/sweeper/img/delete.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 431 B |
BIN
webif/plugin/sweeper/img/down.png
Normal file
BIN
webif/plugin/sweeper/img/down.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 300 B |
BIN
webif/plugin/sweeper/img/edit.png
Normal file
BIN
webif/plugin/sweeper/img/edit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 814 B |
BIN
webif/plugin/sweeper/img/page_white_copy.png
Normal file
BIN
webif/plugin/sweeper/img/page_white_copy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 309 B |
BIN
webif/plugin/sweeper/img/up.png
Normal file
BIN
webif/plugin/sweeper/img/up.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 300 B |
@ -19,7 +19,7 @@ foreach {test expected} {
|
|||||||
{/mod/video/%asfilename:bob/fred:.ts} {/mod/video/bob_fred.ts}
|
{/mod/video/%asfilename:bob/fred:.ts} {/mod/video/bob_fred.ts}
|
||||||
{/mod/video/%asfilename:bob/fred:.ts%replace:video:radiator:} {/mod/radiator/bob_fred.ts}
|
{/mod/video/%asfilename:bob/fred:.ts%replace:video:radiator:} {/mod/radiator/bob_fred.ts}
|
||||||
{%epname} {6/10. The Fame Game}
|
{%epname} {6/10. The Fame Game}
|
||||||
{%epdescr} {s?e6/10}
|
{%epdescr} {s?e06/10}
|
||||||
{%synopsis%regsub,Game:\s*,,} {6/10. The Fame Crime drama. While Sasha is occupied with an intensive training course, the boys' investigations take them to a lookalike agency. [HD] [AD,S]}
|
{%synopsis%regsub,Game:\s*,,} {6/10. The Fame Crime drama. While Sasha is occupied with an intensive training course, the boys' investigations take them to a lookalike agency. [HD] [AD,S]}
|
||||||
{Z Nation_ 20150825_2200.ts%regsub,_ \s*, - ,} {Z Nation - 20150825_2200.ts}
|
{Z Nation_ 20150825_2200.ts%regsub,_ \s*, - ,} {Z Nation - 20150825_2200.ts}
|
||||||
{%synopsis%regsub:^\s*([^ ]+)\s+([^ ]+).*:\1,\2:} {6/10.,The}
|
{%synopsis%regsub:^\s*([^ ]+)\s+([^ ]+).*:\1,\2:} {6/10.,The}
|
||||||
@ -30,7 +30,7 @@ foreach {test expected} {
|
|||||||
puts [format "%-70s => OK" $test]
|
puts [format "%-70s => OK" $test]
|
||||||
} else {
|
} else {
|
||||||
puts [format "%-70s => FAIL" $test]
|
puts [format "%-70s => FAIL" $test]
|
||||||
puts " $ret"
|
puts " ($ret)/($expected)"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user