about summary refs log tree commit homepage
path: root/bin/dtas-tl
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2013-09-20 07:01:33 +0000
committerEric Wong <normalperson@yhbt.net>2013-09-22 22:06:33 +0000
commit09724ca3f1eb1d0d726ba0f6288b44bdc073994e (patch)
tree105d8fd9f1d4015a2971fc40abd2d82fb8e7612b /bin/dtas-tl
parent44b612807de3caa14e2cae6dcba7061091fed4ca (diff)
downloaddtas-09724ca3f1eb1d0d726ba0f6288b44bdc073994e.tar.gz
This behaves like "goto", but takes a regular expression
instead of a track_id
Diffstat (limited to 'bin/dtas-tl')
-rwxr-xr-xbin/dtas-tl20
1 files changed, 20 insertions, 0 deletions
diff --git a/bin/dtas-tl b/bin/dtas-tl
index f34a83c..7793f23 100755
--- a/bin/dtas-tl
+++ b/bin/dtas-tl
@@ -47,6 +47,26 @@ when "addtail"
     puts "#{path} #{res}"
     last_id = res if res =~ /\A\d+\z/
   end
+when "reto"
+  fixed = ARGV.delete("-F")
+  ignorecase = ARGV.delete("-i")
+  re = ARGV[1]
+  time = ARGV[2]
+  re = Regexp.quote(re) if fixed
+  re = ignorecase ? %r{#{re}}i : %r{#{re}}
+  get_track_ids(c).each do |track_id|
+    res = c.req("tl get #{track_id}")
+    res.sub!(/\A1 /, '')
+    if re =~ res
+      req = %W(tl goto #{track_id})
+      req << time if time
+      res = c.req(req)
+      puts res
+      exit(res == "OK")
+    end
+  end
+  warn "#{re.inspect} not found"
+  exit 1
 else
   # act like dtas-ctl for now...
   puts c.req([ "tl", *ARGV ])