diff --git a/var/mongoose/cgi-bin/browse.jim b/var/mongoose/cgi-bin/browse.jim
index 9253a43..deba0b7 100755
--- a/var/mongoose/cgi-bin/browse.jim
+++ b/var/mongoose/cgi-bin/browse.jim
@@ -146,7 +146,7 @@ puts {
|
diff --git a/var/mongoose/cgi-bin/browse/browse.js b/var/mongoose/cgi-bin/browse/browse.js
index a1d4b34..276ac9a 100755
--- a/var/mongoose/cgi-bin/browse/browse.js
+++ b/var/mongoose/cgi-bin/browse/browse.js
@@ -45,20 +45,15 @@ function delete_callback(file, type, id)
function lock_callback(file, type, id)
{
- var el = 'div.bf#' + id;
- var results = el + ' .results';
- var url = '/cgi-bin/browse/lock.jim?file=' +
- encodeURIComponent(file);
-
- $(results).load(url, function() {
- $(results).delay(3000).slideUp(150);
- });
+ var url = '/cgi-bin/browse/lock.jim?file=' + encodeURIComponent(file);
+ $.get(url, function() { window.location.reload(true); });
}
function rename_submit()
{
var s = $('#renameform_form').serialize();
- alert(s);
+ $.get('/cgi-bin/browse/rename.jim?' + s,
+ function() { window.location.reload(true); });
}
var $confirm; // Populated after DOM is loaded.
diff --git a/var/mongoose/cgi-bin/browse/lock.jim b/var/mongoose/cgi-bin/browse/lock.jim
index 2ff339f..caf5d32 100755
--- a/var/mongoose/cgi-bin/browse/lock.jim
+++ b/var/mongoose/cgi-bin/browse/lock.jim
@@ -9,16 +9,19 @@ puts ""
cgi_input
#cgi_dump
+set _cgi(file) "/media/My Video/The Walking Dead/The Walking Dead S01E06.ts"
+
set file [dict get $_cgi file]
set ts [ts fetch $file]
+if {[set ts [ts fetch $file]] != 0} {
+ set action lock
+ if {[$ts flag "Locked"]} { set action unlock }
-set action lock
-if {[$ts flag "Locked"]} { set action unlock }
-
-if {[$ts $action]} {
- puts "Successfully [set action]ed $file."
-} else {
- puts "Problem [set action]ing $file,
- [$ts get error]"
+ if {[$ts $action]} {
+ puts "Successfully [set action]ed $file."
+ } else {
+ puts "Problem [set action]ing $file,
+ [$ts get error]"
+ }
}
diff --git a/var/mongoose/cgi-bin/browse/rename.jim b/var/mongoose/cgi-bin/browse/rename.jim
new file mode 100755
index 0000000..777f8cb
--- /dev/null
+++ b/var/mongoose/cgi-bin/browse/rename.jim
@@ -0,0 +1,53 @@
+#!/mod/bin/jimsh
+
+package require cgi
+source /mod/var/mongoose/lib/ts.class
+
+puts "Content-Type: text/html"
+puts ""
+
+cgi_input
+#cgi_dump
+
+#renameorig
+#titleorig
+#rename
+#renametitle
+
+#set _cgi(renameorig) "/media/My Video/The Walking Dead/The Walking Dead_20110521_2201.ts"
+#set _cgi(rename) "Last Episode"
+
+if {![dict exists $_cgi renameorig]} { exit }
+
+set file [dict get $_cgi renameorig]
+set newfile [dict get $_cgi rename]
+
+if {[string length [string trim $newfile]] == 0 || $file eq $newfile} {
+ set newfile ""
+}
+
+if {[file isdirectory $file]} {
+ #puts "Directory."
+ if {$newfile ne ""} {
+ set dir [file dirname $file]
+ set newfile "${dir}/${newfile}"
+ file rename $file $newfile
+ }
+} elseif {[set ts [ts fetch $file]] != 0} {
+ #puts "TS file."
+
+ catch {
+ set title [dict get $_cgi renametitle]
+ set titleorig [dict get $_cgi titleorig]
+
+ if {[string length [string trim $title]] > 0 &&
+ $title ne $titleorig} {
+ $ts settitle $title
+ }
+ }
+ if {$newfile ne ""} { ts renamegroup $file $newfile }
+} else {
+ #puts "Normal file."
+ if {$newfile ne ""} { ts renamegroup $file $newfile }
+}
+
diff --git a/var/mongoose/lib/ts.class b/var/mongoose/lib/ts.class
index fae134e..7f561ba 100644
--- a/var/mongoose/lib/ts.class
+++ b/var/mongoose/lib/ts.class
@@ -95,3 +95,27 @@ ts method delete {} {
return 1
}
+ts method settitle {newtitle} {
+ if {[string length newtitle] > 48} { return }
+
+ exec /mod/bin/hmt "+settitle=${newtitle}" $file
+}
+
+proc {ts renamegroup} {from to} {
+ set dir [file dirname $from]
+ set root [file rootname $from]
+
+ # Catch from string without a . character in it
+ if {$root eq $from} { return }
+
+ # Protect special characters in root. In particular [] characters
+ # which are used a lot for torrent names.
+ regsub -all {([\\["$])} $root {\\\1} root
+
+ foreach f [glob -nocomplain "${root}.*"] {
+ set ext [file extension $f]
+ #puts "rename $f \"${dir}/${to}${ext}\""
+ file rename $f "${dir}/${to}${ext}"
+ }
+}
+