module SleepRoom::Record

Public Class Methods

call_minyami(url:, is_live: true, threads: configatron.minyami.threads, output:, retries: configatron.minyami.retries) click to toggle source

Okite!!! @param url [String] @return [Boolean]

# File lib/sleeproom/record.rb, line 18
def self.call_minyami(url:, is_live: true, threads: configatron.minyami.threads, output:, retries: configatron.minyami.retries)
  command = "minyami -d #{Shellwords.escape(url)}"
  command += " --retries #{retries.to_i}" if retries
  command += " --threads #{threads.to_i}" if threads
  command += " --live" if is_live
  output = File.join(configatron.save_path, output)
  command += " --output #{Shellwords.escape(output)}" if output
  download_dir_check(output)
  pid = exec_command(command, output)
  return pid
end
download_dir_check(output) click to toggle source
# File lib/sleeproom/record.rb, line 41
def self.download_dir_check(output)
  dir = File.dirname(output)
  if !Dir.exist?(dir)
    SleepRoom.info("#{dir} does not exist, creating...")
    SleepRoom.mkdir(dir)
  end
end
exec_command(command, output) click to toggle source

@param command [String] @return [Boolean]

# File lib/sleeproom/record.rb, line 32
def self.exec_command(command, output)
  SleepRoom.info("Call command: #{command}")
  SleepRoom.info("STDOUT: #{output}.out , STDERR: #{output}.err")
  pid = spawn(command, out: "#{output}.out", err: "#{output}.err")
  SleepRoom.info("PID: #{pid}")
  Process.detach(pid)
  return pid
end