anstaendig 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +2 -2
- data/bin/anstaendig +7 -7
- data/lib/anstaendig/agents/3sat.rb +0 -6
- data/lib/anstaendig/agents/ard.rb +0 -6
- data/lib/anstaendig/agents/arte.rb +8 -13
- data/lib/anstaendig/agents/zdf.rb +0 -7
- data/lib/anstaendig.rb +7 -3
- metadata +4 -4
data/README.rdoc
CHANGED
data/bin/anstaendig
CHANGED
@@ -20,13 +20,13 @@ def usageMessage
|
|
20
20
|
$stderr << "#{File.basename( $0 )} [options] <url>
|
21
21
|
Download videos from video streaming sites.
|
22
22
|
|
23
|
-
-h
|
24
|
-
-l
|
25
|
-
-m
|
26
|
-
-o name
|
27
|
-
-q quality
|
28
|
-
-r
|
29
|
-
-s
|
23
|
+
-h This help.
|
24
|
+
-l List available agents.
|
25
|
+
-m Keep mess (do not clean up on Interrupt).
|
26
|
+
-o <name> File to save the video to.
|
27
|
+
-q <quality> Quality of the video.
|
28
|
+
-r Recode to Theora/Vorbis.
|
29
|
+
-s Only show stream URL.
|
30
30
|
|
31
31
|
"
|
32
32
|
exit( 1 )
|
@@ -1,11 +1,5 @@
|
|
1
1
|
module Anstaendig
|
2
2
|
# Agent for anstaendig to download videos from the 3sat media center.
|
3
|
-
#
|
4
|
-
# Author:: henning mueller (mailto:henning@orgizm.net)
|
5
|
-
# Copyright:: Copyright (c) 2010 henning mueller
|
6
|
-
# License:: Beerware
|
7
|
-
|
8
|
-
# 3sat agent class inherits from agent interface.
|
9
3
|
class DreiSatAgent < AbstractAgent
|
10
4
|
AGENTS[ 'www.3sat.de' ] = self
|
11
5
|
|
@@ -1,11 +1,5 @@
|
|
1
1
|
module Anstaendig
|
2
2
|
# Agent for anstaendig to download videos from the ARD media center.
|
3
|
-
#
|
4
|
-
# Author:: henning mueller (mailto:henning@orgizm.net)
|
5
|
-
# Copyright:: Copyright (c) 2010 henning mueller
|
6
|
-
# License:: Beerware
|
7
|
-
|
8
|
-
# ARD agent class inherits from agent interface.
|
9
3
|
class ArdAgent < AbstractAgent
|
10
4
|
AGENTS[ 'www.ardmediathek.de' ] = self
|
11
5
|
|
@@ -1,17 +1,5 @@
|
|
1
1
|
module Anstaendig
|
2
2
|
# Agent for anstaendig to download videos from the arte media center.
|
3
|
-
#
|
4
|
-
# Author:: henning mueller (mailto:henning@orgizm.net)
|
5
|
-
# Copyright:: Copyright (c) 2010 henning mueller
|
6
|
-
# License:: Beerware
|
7
|
-
|
8
|
-
#
|
9
|
-
# TODO
|
10
|
-
# This extracts the correct filename and url, but the stream ripping dies
|
11
|
-
# somehow after a few minutes.
|
12
|
-
#
|
13
|
-
|
14
|
-
# arte agent class inherits from agent interface.
|
15
3
|
class ArteAgent < AbstractAgent
|
16
4
|
AGENTS[ 'videos.arte.tv' ] = self
|
17
5
|
|
@@ -23,6 +11,8 @@ module Anstaendig
|
|
23
11
|
|
24
12
|
doc = open( uri.to_s ).readlines
|
25
13
|
|
14
|
+
@swfurl = doc.grep( /^<embed/ )[0].match( /\"(.*)\"/ )[1]
|
15
|
+
|
26
16
|
doc = Nokogiri::XML( open(
|
27
17
|
doc.grep( /vars_player\.videorefFileUrl/ )
|
28
18
|
.first.match( /(http.*xml)/ )[1]
|
@@ -34,7 +24,7 @@ module Anstaendig
|
|
34
24
|
end
|
35
25
|
end
|
36
26
|
|
37
|
-
@filename = doc.xpath( '//name' ).first.text + '.
|
27
|
+
@filename = doc.xpath( '//name' ).first.text + '.flv'
|
38
28
|
|
39
29
|
case( quality )
|
40
30
|
when :hd, :high, :default
|
@@ -45,5 +35,10 @@ module Anstaendig
|
|
45
35
|
raise( NoSuchQualityException )
|
46
36
|
end
|
47
37
|
end
|
38
|
+
|
39
|
+
# Ripping arte clips no longer works with mplayer :(.
|
40
|
+
def rip
|
41
|
+
`rtmpdump -W "#{@swfurl}" -r "#{@url}" -o "#{@filename}"`
|
42
|
+
end
|
48
43
|
end
|
49
44
|
end
|
@@ -1,11 +1,5 @@
|
|
1
1
|
module Anstaendig
|
2
2
|
# Agent for anstaendig to download videos from the ZDF media center.
|
3
|
-
#
|
4
|
-
# Author:: henning mueller (mailto:henning@orgizm.net)
|
5
|
-
# Copyright:: Copyright (c) 2010 henning mueller
|
6
|
-
# License:: Beerware
|
7
|
-
|
8
|
-
# ZDF agent class inherits from agent interface.
|
9
3
|
class ZdfAgent < AbstractAgent
|
10
4
|
AGENTS[ 'www.zdf.de' ] = self
|
11
5
|
|
@@ -40,7 +34,6 @@ module Anstaendig
|
|
40
34
|
@filename = doc.xpath( '//h1[@class="beitragHeadline"]' ).inner_text + '.wmv'
|
41
35
|
|
42
36
|
doc = Nokogiri::HTML( open( uri ) )
|
43
|
-
# @url = doc.xpath( '//ref' ).attr( 'href' )
|
44
37
|
@url = doc.to_s.match( /(mms.*wmv)/ )[0]
|
45
38
|
end
|
46
39
|
end
|
data/lib/anstaendig.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
$:.unshift( File.dirname( __FILE__ ) )
|
2
2
|
|
3
|
-
# The Anstaendig module
|
4
|
-
# implementing
|
3
|
+
# The Anstaendig module consists of the AbstractAgent class and media center
|
4
|
+
# site agents, which are implementing it.
|
5
|
+
#
|
6
|
+
# Author:: henning mueller (mailto:henning@orgizm.net)
|
7
|
+
# Copyright:: Copyright (c) 2010 henning mueller
|
8
|
+
# License:: Beerware
|
5
9
|
module Anstaendig
|
6
|
-
VERSION = '0.1.
|
10
|
+
VERSION = '0.1.1'
|
7
11
|
end
|
8
12
|
|
9
13
|
Dir.glob( $:.first + '/**/*.rb' ).sort.each do |file|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anstaendig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- henning mueller
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-07-15 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|