module Transmission
Constants
- VERSION
Public Class Methods
custom_slots()
click to toggle source
# File lib/alexa_transmission/custom_slots.rb, line 2 def self.custom_slots File.read(File.expand_path('../../../skills_config/custom_slots.txt', __FILE__)) end
intent_schema()
click to toggle source
# File lib/alexa_transmission/intent_schema.rb, line 2 def self.intent_schema File.read(File.expand_path('../../../skills_config/intent_schema.txt', __FILE__)) end
sample_utterances()
click to toggle source
# File lib/alexa_transmission/sample_utterances.rb, line 2 def self.sample_utterances File.read(File.expand_path('../../../skills_config/sample_utterances.txt', __FILE__)) end
Public Instance Methods
check_transmission()
click to toggle source
# File lib/alexa_transmission.rb, line 11 def check_transmission transmission_api_client = ::TransmissionApi::Client.new( :username => settings.config.transmission.username, :password => settings.config.transmission.password, :url => settings.config.transmission.rpc_url ) parsed_files = transmission_api_client.all.map! do |x| size_in_gb = x["totalSize"].to_f/(1000**3) rate_download_in_gb_sec = x["rateDownload"].to_f/(1000**3) hash = { percent_completed: x["percentDone"], name: ToName.to_name(x["name"].gsub(/\+/, '.').gsub(' ', '.')), eta: (size_in_gb-(size_in_gb*x["percentDone"]))/rate_download_in_gb_sec/(60**2) } hash if x["isFinished"] != true && x["rateDownload"] > 0 end puts parsed_files parsed_files.compact! parsed_strings = if parsed_files && !parsed_files.empty? parsed_files.map! { |x| "#{x[:name].name}#{" Episode #{x[:name].episode}" if x[:name].episode} is at #{(x[:percent_completed]*100).round} percent" } parsed_files.to_sentence else "No downloads are currently in progress" end AlexaObjects::Response.new(spoken_response: parsed_strings).to_json end