static_controller.rb 1.94 KB
# Author - Igor Portela - igorportela.com | Copyright(c) 2013. All rights reserved.
class StaticController < ApplicationController
  before_filter :authenticate_user!

  def choice
  end

  def preview
  end

  def upload
    @presenter = Static::IndexPresenter.new #if authenticate_user!

  end

  def subtitle
    @presenter = Static::IndexPresenter.new(params[:id])
  end

  def window
    @presenter = Static::IndexPresenter.new(params[:id])
  end

  def generate
    @presenter = Static::IndexPresenter.new(params[:id])
    if !@presenter.subtitle.window_size.present?

    #raise current_user.inspect

    @presenter.subtitle.update_attributes(:window_size => params[:window_size], :window_position => params[:window_position], :closed_caption => params[:closed_caption], :user_id => current_user.id)
    end

    if @presenter.subtitle.closed_caption == 1 || @presenter.subtitle.closed_caption == 3
    cmd = "../vlibras-core/./vlibras #{@presenter.subtitle.closed_caption} public#{@presenter.subtitle.url} 1 #{@presenter.subtitle.window_position} #{@presenter.subtitle.window_size} #{@presenter.subtitle.transparency} #{@presenter.subtitle.id} &"
    else
    cmd = "../vlibras-core/./vlibras 2 public#{@presenter.subtitle.url} public#{@presenter.subtitle.legend} 1 #{@presenter.subtitle.window_position} #{@presenter.subtitle.window_size} #{@presenter.subtitle.transparency} #{@presenter.subtitle.id} &"
    end
    #raise cmd.inspect
    system(cmd)
  end

  def result
    require "rexml/document"

    print "Antes"

    path = "public/uploads/videos/#{params[:id]}/#{params[:id]}.xml"
    arquivo = File.new(path,"r")
    obj = REXML::Document.new(arquivo)

    print "Depois"  

    obj.elements.each("request") do |element|
      @id = element.text("id")
      @finished = element.text("finished")
    end  

    if @finished == "true"
      @presenter = Static::IndexPresenter.new(@id)
      redirect_to video_path(@id)
    else
      render :generate
    end
  end
end