sexy_download 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -22,6 +22,10 @@ or
22
22
 
23
23
  sexy_download http://someStorageService.com?q=MVGHT
24
24
 
25
+ or
26
+
27
+ sexy_download -l list_file.txt ~/My/Download/Path
28
+
25
29
  Without the target path +sexy_download+ will save the file in the folder that you call it
26
30
 
27
31
  == Considerations
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
data/lib/sexy_download.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'rubygems'
4
4
  require 'tempfile'
5
+ require 'optparse'
5
6
  require 'etc'
6
7
 
7
8
  require 'sqlite3'
@@ -94,6 +95,12 @@ class CookieExtractor
94
95
  end
95
96
  end
96
97
 
98
+ def get_file_path!
99
+ domain = @list_file ? File.open(@list_file, "r").first : @domain
100
+ puts "\n== Domain: #{domain}"
101
+ @file_path = CookieExtractor.new(domain, @dir).extract!
102
+ end
103
+
97
104
  raise %{
98
105
  \nThis script is totally based on aria2 (http://aria2.sourceforge.net/)
99
106
  I did not find on your machine using 'which aria2c'
@@ -106,21 +113,37 @@ raise %{
106
113
  ;)\n
107
114
  } if `which aria2c`.empty?
108
115
 
109
- raise %{
110
- \nYou forgot to inform the download url, like:
111
- $ sexy_download http://myDownloadUrl.com?q=ZHGT ~/My/Target/Dir
112
- or
113
- $ sexy_download http://myDownloadUrl.com?q=ZHGT\n
114
- } if ARGV[0].nil?
116
+ opts = OptionParser.new do |opts|
117
+ opts.on("-l", "--list FILE", "List of files") {|list_file| @list_file = list_file}
118
+ end
119
+ opts.parse! ARGV
120
+
121
+ unless @list_file
122
+ raise %{
123
+ \nYou forgot to inform the download url, like:
124
+ $ sexy_download http://myDownloadUrl.com?q=ZHGT ~/My/Target/Dir
125
+ or
126
+ $ sexy_download http://myDownloadUrl.com?q=ZHGT\n
127
+ } if ARGV[0].nil?
128
+
129
+ @domain = ARGV[0]
130
+ @dir = File.expand_path(ARGV[1] || ".")
115
131
 
116
- @domain = ARGV[0]
117
- @dir = File.expand_path(ARGV[1] || ".")
118
- @file_path = CookieExtractor.new(@domain, @dir).extract!
132
+ else
133
+ puts "\n== File list detected: #{@list_file}"
134
+ @dir = File.expand_path(ARGV[0] || ".")
135
+ end
119
136
 
120
- command = %{aria2c -c -x16 #{@domain} --load-cookies="#{@file_path}"}
137
+ get_file_path!
138
+
139
+ # -x16 = 16 threads
140
+ # -j5 = 5 concurrently downloads
141
+ list_or_domain = @list_file ? "-j3 -i \"#{@list_file}\"" : "#{@domain}"
142
+ command = %{aria2c -c -x16 #{list_or_domain} --load-cookies="#{@file_path}"}
121
143
  command << %{ --dir="#{@dir}"} if @dir
144
+
122
145
  puts "\n== Downloading with:"
123
- puts "\t#{command}\n"
146
+ puts "\t#{command}\n\n"
124
147
 
125
148
  system(command)
126
149
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sexy_download}
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["T\303\272lio Ornelas"]
12
- s.date = %q{2011-08-05}
12
+ s.date = %q{2011-08-24}
13
13
  s.default_executable = %q{sexy_download}
14
14
  s.description = %q{A Script that retrieves google chrome cookies and calls aria2c for multithreading download}
15
15
  s.email = %q{ornelas.tulio@gmail.com}
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sexy_download
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - "T\xC3\xBAlio Ornelas"
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-05 00:00:00 -03:00
18
+ date: 2011-08-24 00:00:00 -03:00
19
19
  default_executable: sexy_download
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency