class Tscripter::Runner
Public Instance Methods
generate_edited_text(text, id1, id2)
click to toggle source
# File lib/tscripter.rb, line 34 def generate_edited_text(text, id1, id2) edited_text = "" ids = [id1, id2] count = 0 text.split("\n").each do |line| curr_id = ids[count % ids.length] if line[0] == "[" if /^\[.*\].*\w+/ =~ line edited_text << process_line(curr_id, line) count += 1 else edited_text << "#{line}\n" end elsif line.strip == "" edited_text << "#{line}\n" elsif line[0] == "^" curr_id = ids[(count % ids.length) - 1] edited_text << process_line(curr_id, line) else edited_text << process_line(curr_id, line) count += 1 end # edited_text << "\n" end edited_text end
go()
click to toggle source
# File lib/tscripter.rb, line 6 def go puts(go_with_args(*ARGV)) end
go_with_args(*args)
click to toggle source
# File lib/tscripter.rb, line 10 def go_with_args(*args) if filename = args[0] file_basename = File.basename(filename, File.extname(filename)) id1 = args[1] id2 = args[2] return "Please supply two ID arguments." if (id1.nil? || id2.nil?) transcript_text = File.new(filename).read edited_file_content = generate_edited_text(transcript_text, id1, id2) edited_file = File.new("#{file_basename}_edited_#{Time.now.to_i}.txt", "w") edited_file.write(edited_file_content) edited_file.close "Transcript edit complete." else "Please supply a filename." end rescue IOError "ERROR: File named #{args[0]} does not exist in this directory.\nPlease supply a valid filename." end
Private Instance Methods
add_inaudible_notation(line)
click to toggle source
# File lib/tscripter.rb, line 81 def add_inaudible_notation(line) line.scan(/\*[iI]\s*\d{1,2}\:\d{1,2}/) do |inaud_markup| timestamp = inaud_markup.match(/(\d{1,2}\:\d{1,2})/)[1] inaudible_notation = "[inaudible #{timestamp}]" line = line.gsub(inaud_markup, inaudible_notation) end line end
process_line(id, line)
click to toggle source
# File lib/tscripter.rb, line 67 def process_line(id, line) line = remove_markup(line) line = add_inaudible_notation(line) "#{id}: #{line}\n" end
remove_markup(line)
click to toggle source
# File lib/tscripter.rb, line 73 def remove_markup(line) if line[0] == '^' line = line.slice(/\^\s*(.*)/, 1) else line end end