diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-09-20 07:01:33 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-09-22 22:06:33 +0000 |
commit | 09724ca3f1eb1d0d726ba0f6288b44bdc073994e (patch) | |
tree | 105d8fd9f1d4015a2971fc40abd2d82fb8e7612b /bin/dtas-tl | |
parent | 44b612807de3caa14e2cae6dcba7061091fed4ca (diff) | |
download | dtas-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-x | bin/dtas-tl | 20 |
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 ]) |