Skip to content

Commit

Permalink
Initial import
Browse files Browse the repository at this point in the history
  • Loading branch information
cristianrasch committed Nov 13, 2011
0 parents commit 4b7ef1c
Show file tree
Hide file tree
Showing 7 changed files with 2,665 additions and 0 deletions.
1 change: 1 addition & 0 deletions .rvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rvm ruby-1.9.2-p290@cuevana --create
6 changes: 6 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
source 'http://rubygems.org'

gem 'nokogiri'
gem 'cuba'
gem 'tilt'
gem 'haml'
19 changes: 19 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
GEM
remote: http://rubygems.org/
specs:
cuba (2.2.1)
rack
tilt
haml (3.1.3)
nokogiri (1.5.0)
rack (1.3.5)
tilt (1.3.3)

PLATFORMS
ruby

DEPENDENCIES
cuba
haml
nokogiri
tilt
61 changes: 61 additions & 0 deletions app.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
require 'rubygems'
require 'bundler/setup'
require 'nokogiri'
require 'open-uri'
require 'net/http'
require 'uri'
require 'cuba'
require 'haml'
require 'tilt'

Cuba.define do
on get do
on '' do
res.write render_template('new')
end

on 'styles', extension('css') do |file|
res['Content-Type'] = 'text/css'
res.write File.open(File.join(File.dirname(__FILE__), 'styles', "#{file}.css")).read
end
end

on post do
on 'new', param('url') do |cuevana_url|
if cuevana_url =~ URI::regexp
res.redirect megaupload_url(cuevana_url)
else
res.write render_template('new', 'You need to provide a valid URL!')
end
end

on true do
res.write render_template('new', 'You need to provide a URL!')
end
end
end

def megaupload_url(cuevana_url)
id = cuevana_url.match(/\d+/).to_s
doc = Nokogiri::HTML(open(cuevana_url))
query_string = doc.at_css('#videoi').text

doc = Nokogiri::HTML(open("http://www.cuevana.tv/player/source?#{query_string}"))
script = doc.at_css('#sources ul').text

key = script[/goSource\('(.+)','megaupload'\)/, 1]

# curl -d "key=d7d7b724c13637e667ffcc83fce4b8ba" -d "host=megaupload"
# -d "vars=id=4290" http://www.cuevana.tv/player/source_get

uri = URI('http://www.cuevana.tv/player/source_get')
Net::HTTP.post_form(uri, key: key, host: 'megaupload', vars: "&id=#{id}").body[/http.+/]
end

def render_template(template, error=nil)
if error
Tilt.new("templates/#{template}.haml").render { error }
else
Tilt.new("templates/#{template}.haml").render
end
end
2 changes: 2 additions & 0 deletions config.ru
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
require File.dirname(__FILE__) + '/app'
run Cuba
Loading

0 comments on commit 4b7ef1c

Please sign in to comment.