dmanga 0.0.8 → 0.1.0
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.
- checksums.yaml +4 -4
- data/README.md +14 -0
- data/dmanga.gemspec +1 -1
- data/exe/dmanga +5 -0
- data/lib/dmanga/site_parser_base.rb +26 -18
- data/lib/dmanga/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16b29d773b828aaeb20d2335936aaa05f71c3444
|
4
|
+
data.tar.gz: fb36d3b66668b79385c404bf1c9686bbbb7557be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76485eea811a2e520f870bd3e5e51d7ab4ccd6cd0021bc54aacff9bba53c2baf58939f1a43ed05528119f260dc51fcec1ca1b52a18911a6f0b0b3baa141c46b5
|
7
|
+
data.tar.gz: 84f8b0d2e9b144c763b0b571e98620481859c863e7bfb8752e8126c3f78d9242d747ad13f4d2687bf8a5cb99d4796d8395c3a878a78637c0191380c0435b6ebb
|
data/README.md
CHANGED
@@ -26,6 +26,12 @@ Digite Enter para executar o comando.
|
|
26
26
|
|
27
27
|
Com isso o script/programa será instalado.
|
28
28
|
|
29
|
+
Você pode atualizar o script/programa com:
|
30
|
+
|
31
|
+
`gem update`
|
32
|
+
|
33
|
+
Atualize sempre para obter melhoras (desempenho ou novas funcionalidades) e correções de bugs.
|
34
|
+
|
29
35
|
### Linux (debian/ubuntu)
|
30
36
|
Abra o terminal.
|
31
37
|
|
@@ -37,6 +43,14 @@ Em seguida:
|
|
37
43
|
|
38
44
|
`$ gem install dmanga`
|
39
45
|
|
46
|
+
Pode ser necessário usar o sudo.
|
47
|
+
|
48
|
+
Você pode atualizar o script/programa com:
|
49
|
+
|
50
|
+
`gem update`
|
51
|
+
|
52
|
+
Atualize sempre para obter melhoras (desempenho ou novas funcionalidades) e correções de bugs.
|
53
|
+
|
40
54
|
Obs: Eu não cheguei a testar em versões do ruby abaixo do 2.4.1,
|
41
55
|
em caso de problema procure na internet como instalar a versão do
|
42
56
|
ruby 2.4.1 ou superior.
|
data/dmanga.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = "Download any manga from mangahost.net"
|
13
13
|
spec.description = "Download any manga from mangahost.net. You can search and " +
|
14
|
-
"select any chapter or
|
14
|
+
"select any chapter or range of chapters"
|
15
15
|
spec.homepage = "https://github.com/david-endrew/DManga"
|
16
16
|
spec.license = "MIT"
|
17
17
|
|
data/exe/dmanga
CHANGED
@@ -47,6 +47,11 @@ rescue OpenSSL::SSL::SSLError => ssl_error
|
|
47
47
|
rescue Errno::ENETUNREACH => error
|
48
48
|
DManga::display_error("Não foi possivel conectar a internet",
|
49
49
|
error)
|
50
|
+
|
51
|
+
rescue Errno::ENOENT => error
|
52
|
+
DManga::display_error("Diretorio epecificado não existe",
|
53
|
+
error)
|
54
|
+
|
50
55
|
rescue Interrupt
|
51
56
|
DManga::display_feedback("\nBye")
|
52
57
|
end
|
@@ -9,7 +9,7 @@ module DManga
|
|
9
9
|
class SiteParserBase
|
10
10
|
USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
|
11
11
|
|
12
|
-
attr_accessor :manga_name, :manga_url,
|
12
|
+
attr_accessor :manga_name, :manga_url,
|
13
13
|
:chapters, :verbose
|
14
14
|
|
15
15
|
def initialize(argv)
|
@@ -19,10 +19,10 @@ module DManga
|
|
19
19
|
@chapters = nil
|
20
20
|
end
|
21
21
|
|
22
|
-
# Parse the html and colect
|
22
|
+
# Parse the html and colect links that match the pattern.
|
23
23
|
# Can receive a block.
|
24
24
|
def parse(url, regex)
|
25
|
-
DManga::display_feedback "\
|
25
|
+
DManga::display_feedback "\nfetching #{url}" if @options.verbose
|
26
26
|
result = []
|
27
27
|
open(url, "User-Agent" => USER_AGENT) do |response|
|
28
28
|
if response.status[1] == "OK"
|
@@ -35,7 +35,6 @@ module DManga
|
|
35
35
|
result << r
|
36
36
|
end
|
37
37
|
end
|
38
|
-
# binding.pry # DEBUG
|
39
38
|
result = yield(result, page) if block_given?
|
40
39
|
else
|
41
40
|
DManga::display_error("ERRO: Servidor respondeu: #{response.status.inpect}")
|
@@ -78,18 +77,25 @@ module DManga
|
|
78
77
|
DManga::display_feedback "(#{index + 1})\t#{chapter[0]}"
|
79
78
|
end
|
80
79
|
answer = nil
|
81
|
-
DManga::display_feedback "\n#{@chapters.length} capitulos encontrados"
|
80
|
+
DManga::display_feedback "\n#{@chapters.length} capitulos encontrados\n"
|
82
81
|
loop do
|
83
|
-
DManga::display_prompt("
|
82
|
+
DManga::display_prompt("Quais capitulos você quer baixar? ")
|
84
83
|
answer = $stdin.gets.chomp
|
85
84
|
if answer == "o" || answer.empty?
|
86
|
-
DManga::
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
85
|
+
DManga::display_feedback(
|
86
|
+
<<-EOS
|
87
|
+
o - exibe opções.
|
88
|
+
c - cancelar.
|
89
|
+
todos - baixar todos os capítulos.
|
90
|
+
inicio-fim - baixar intervalo selecionado.
|
91
|
+
Ex: 0-10 - baixa do 0 ao 10.
|
92
|
+
capNum,capNum,capNum - baixar capitulos selecionados.
|
93
|
+
Ex: 29,499,1 - baixa capitulos 29, 499 e 1.
|
94
|
+
EOS
|
95
|
+
)
|
96
|
+
elsif answer == "c"
|
97
|
+
DManga::display_feedback("Saindo")
|
98
|
+
exit true
|
93
99
|
elsif answer == "todos"
|
94
100
|
DManga::display_feedback "Baixando todos os capítulos" if @options.verbose
|
95
101
|
break
|
@@ -143,14 +149,12 @@ module DManga
|
|
143
149
|
:format => '%a %B %p%% %r KB/sec',
|
144
150
|
:rate_scale => lambda { |rate|
|
145
151
|
rate / 1024 },
|
146
|
-
length: 70
|
147
|
-
)
|
152
|
+
length: 70)
|
148
153
|
else
|
149
154
|
pbar = ProgressBar.create(:total => size / Integer(16384),
|
150
155
|
:format => '%a %B %p%% %r KB/sec',
|
151
156
|
:rate_scale => lambda { |rate|
|
152
|
-
rate / 1024 }
|
153
|
-
)
|
157
|
+
rate / 1024 })
|
154
158
|
end
|
155
159
|
end
|
156
160
|
},
|
@@ -172,7 +176,7 @@ module DManga
|
|
172
176
|
# check if the directory exists and
|
173
177
|
# create a directory relative to download dir
|
174
178
|
def create_dir(name)
|
175
|
-
dir_path =
|
179
|
+
dir_path = [@options.download_dir, name].join(File::SEPARATOR)
|
176
180
|
DManga::display_feedback "\nCriando diretorio '#{name}' em '#{dir_path}'" if @options.verbose
|
177
181
|
unless Dir.exist? dir_path
|
178
182
|
Dir.mkdir(dir_path)
|
@@ -181,5 +185,9 @@ module DManga
|
|
181
185
|
DManga::display_feedback "'#{name}' directorio ja existe" if @options.verbose
|
182
186
|
end
|
183
187
|
end
|
188
|
+
|
189
|
+
def download_dir
|
190
|
+
@options.download_dir
|
191
|
+
end
|
184
192
|
end
|
185
193
|
end
|
data/lib/dmanga/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dmanga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Endrew
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-progressbar
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '1.14'
|
97
97
|
description: Download any manga from mangahost.net. You can search and select any
|
98
|
-
chapter or
|
98
|
+
chapter or range of chapters
|
99
99
|
email:
|
100
100
|
- david.edews@gmail.com
|
101
101
|
executables:
|