Class: Anstaendig::ZdfAgent

Inherits:
AbstractAgent show all
Defined in:
lib/anstaendig/agents/zdf.rb

Overview

Agent for anstaendig to download videos from the ZDF media center.

Instance Attribute Summary

Attributes inherited from AbstractAgent

#filename, #url

Instance Method Summary collapse

Methods inherited from AbstractAgent

#recode, #rip, #run, #userAgent

Constructor Details

#initialize(uri, quality) ⇒ ZdfAgent

Returns a new instance of ZdfAgent.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/anstaendig/agents/zdf.rb', line 6

def initialize( uri, quality )
	require( 'nokogiri' )
	require( 'open-uri' )

	uri = uri.to_s

	if( uri =~ /hauptnavigation\/startseite\/#/ )
		uri.gsub!( 'hauptnavigation/startseite/#/', '' )
	end

	doc = Nokogiri::HTML( open( uri ) )

	quality = case( quality )
		when :high, :default
			'/veryhigh/'
		when :medium, :low
			'/300/'
		else
			raise( NoSuchQualityException )
	end

	doc.xpath( '//a[@class="play"]' ).each do |temp|
		temp = temp.attribute( 'href' ).to_s
		if( temp.include?( quality ) and temp.include?( '.asx' ) )
			uri = temp
		end
	end

	@filename = doc.xpath( '//h1[@class="beitragHeadline"]' ).inner_text + '.wmv'

	doc = Nokogiri::HTML( open( uri ) )
	@url = doc.to_s.match( /(mms.*wmv)/ )[0]
end