@@ 1,133 @@
+#!/usr/bin/env ruby
+
+puts ARGV[2]
+ARGV.each do|a|
+ if a == "help" or a == "--help" or a == "-help"
+ puts "To use you have to have:"
+ puts "ruby"
+ puts "yoshi"
+ puts "youtube_dl"
+ puts "vlc"
+ exit
+ end
+end
+
+require 'fileutils'
+base_path = "/boot/home/config/settings/TwitchFavorites"
+favorite_path = "/boot/home/config/settings/TwitchFavorites/favorites.txt"
+
+if not File.directory?(base_path)
+ FileUtils.mkdir_p base_path
+end
+
+if not File.exists?(favorite_path)
+ out_file = File.new(favorite_path, "w")
+ out_file.close
+else
+ new_content = ""
+ File.read("/boot/home/config/settings/TwitchFavorites/favorites.txt").split "\n" do | fav_line |
+ if fav_line != ""
+ new_content = new_content + fav_line.to_s + "\n"
+ end
+ end
+ File.open("/boot/home/config/settings/TwitchFavorites/favorites.txt", "w") do | line |
+ line.puts new_content
+ end
+end
+
+
+def construct_select_window()
+ File.open("/tmp/tf-yoshi-select.txt", "w") do |line|
+ line.puts "*.title = Twitch Favorites"
+ line.puts "radio.type = radiobutton"
+ line.puts "radio.label = What you want to watch?"
+ line.puts "radio.option1 = Add new"
+ line.puts "radio.option2 = Remove one"
+ index = 3
+ File.read("/boot/home/config/settings/TwitchFavorites/favorites.txt").split "\n" do | url |
+ line.puts "radio.option" + index.to_s + " = " + url
+ index = index + 1
+ end
+ line.puts "radio.default = option1"
+ end
+end
+
+def add_favorite()
+ File.open("/tmp/tf-yoshi-add-new.txt", "w") do |line|
+ line.puts "tx.type = textfield"
+ line.puts "tx.label = Url: "
+ line.puts "tx.width = 200"
+ end
+ system("yoshi /tmp/tf-yoshi-add-new.txt > /tmp/tf-yoshi-add-new-out.txt")
+ File.read("/tmp/tf-yoshi-add-new-out.txt").split do | line |
+ keyval = line.split "="
+ if keyval[0] == "tx"
+ File.open("/boot/home/config/settings/TwitchFavorites/favorites.txt", "a") do | line |
+ if keyval[1] != ""
+ line.puts keyval[1] + "\n"
+ end
+ end
+ select_action
+ end
+ end
+end
+
+def remove_favorite()
+ File.open("/tmp/tf-yoshi-remove.txt", "w") do |line|
+ line.puts "*.title = Twitch Favorites"
+ line.puts "radio.type = radiobutton"
+ line.puts "radio.label = Which one you want to remove?"
+ index = 1
+ File.read("/boot/home/config/settings/TwitchFavorites/favorites.txt").split "\n" do | url |
+ line.puts "radio.option" + index.to_s + " = " + url
+ index = index + 1
+ end
+ line.puts "radio.default = option1"
+ end
+ system("yoshi /tmp/tf-yoshi-remove.txt > /tmp/tf-yoshi-remove-out.txt")
+ File.read("/tmp/tf-yoshi-remove-out.txt").split do | line |
+ keyval = line.split "="
+ if keyval[0] == "radio"
+ url_index = keyval[1][-1..-1].to_i
+ new_content = ""
+ index = 1
+ File.read("/boot/home/config/settings/TwitchFavorites/favorites.txt").split "\n" do | fav_line |
+ if index != url_index
+ new_content = new_content + fav_line.to_s + "\n"
+ end
+ index = index + 1
+ end
+ File.open("/boot/home/config/settings/TwitchFavorites/favorites.txt", "w") do | line |
+ line.puts new_content
+ end
+ select_action
+ end
+ end
+end
+
+
+def select_action()
+ construct_select_window
+ system("yoshi /tmp/tf-yoshi-select.txt > /tmp/tf-yoshi-select-out.txt")
+ File.read("/tmp/tf-yoshi-select-out.txt").split do | line |
+ keyval = line.split "="
+ if keyval[0] == "radio"
+ if keyval[1] == "option1"
+ add_favorite
+ elsif keyval[1] == "option2"
+ remove_favorite
+ else
+ url_index = keyval[1][-1..-1].to_i - 3
+ index = 0
+ File.read("/boot/home/config/settings/TwitchFavorites/favorites.txt").split "\n" do | fav_line |
+ if index == url_index
+ system("youtube-dl " + fav_line + " -o - | vlc -")
+ end
+ index = index + 1
+ end
+ end
+ end
+ end
+end
+
+select_action