Sha256: e75438386019982a6b27ee58772bfde8a9cf50d65eba36a8da2c582e9aec056c

Contents?: true

Size: 1.62 KB

Versions: 1

Compression:

Stored size: 1.62 KB

Contents

#!/usr/bin/env ruby

require 'media/runner/version'
require 'rubygems'
require 'media/runner/app/args_sanitizer'
require 'media/runner/app/file_check'
require 'media/runner/app/media_paths'
require 'media/runner/app/vlc_check'

module Media
  class Run
    include ArgsSanitizer
    include FileCheck
    include VlcCheck
    include MediaPaths

    def start
      require 'commander/import'
      program :version, Media::Runner::VERSION
      program :description, 'Media Runner'

      command :series do |c|
        c.syntax = 'media-runner series [options]'
        c.summary = 'run an episode of a certain series'
        c.description = 'You can pass the an episode number and a series and run it with VLC.'
        c.example 'Run episode 1 of season 1 of Game of Thrones', 'media-runner series gameofthrones 101'
        c.action do |args|
          media = sanitize_args(args)

          unless series_exists?(media[:series])
            puts "#{series_path(media[:series])} doesn't exist. Did you type the series name correctly?"
            exit 1
          end

          unless episode_exists?(media[:series], media[:episode])
            puts "Episode #{media[:episode]} was not found in #{media[:series]}."
            exit 1
          end

          format = episode_format(media[:series], media[:episode])
          vlc_installed?

          puts "Playing episode #{media[:episode]} from #{media[:series]}. ENJOY!"
          `zsh -c "/Users/#{whoami}/Applications/VLC.app/Contents/MacOS/VLC --fullscreen #{episode_path(media[:series], media[:episode], format)} > /dev/null 2>&1 &!"`
          exit 0
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
media-runner-1.0.0 lib/media/runner.rb