mangdown 0.7.1 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +20 -20
- data/doc/help.txt +33 -33
- data/lib/mangdown.rb +19 -19
- data/lib/mangdown/cbz.rb +38 -38
- data/lib/mangdown/chapter.rb +59 -131
- data/lib/mangdown/commands.rb +57 -45
- data/lib/mangdown/manga.rb +47 -46
- data/lib/mangdown/mangdown_hash.rb +8 -8
- data/lib/mangdown/page.rb +21 -16
- data/lib/mangdown/popular.rb +63 -52
- data/lib/mangdown/tools.rb +114 -110
- data/spec/mangdown/chapter_spec.rb +82 -120
- data/spec/mangdown/commands_spec.rb +35 -35
- data/spec/mangdown/manga_spec.rb +75 -77
- data/spec/mangdown/page_spec.rb +34 -34
- data/spec/mangdown/popular_spec.rb +67 -67
- data/spec/objects/make_chapter.rb +5 -5
- data/spec/spec_helper.rb +37 -39
- metadata +7 -12
- data/scripts/cbz_dirs.rb +0 -67
- data/scripts/dl_fk_ch.rb +0 -14
- data/scripts/dl_fk_chps.rb +0 -25
- data/scripts/dl_slow.rb +0 -77
- data/scripts/get_all_fk_page.rb +0 -72
@@ -1,67 +1,67 @@
|
|
1
|
-
require_relative '../spec_helper'
|
2
|
-
|
3
|
-
module Mangdown
|
4
|
-
describe PopularManga do
|
5
|
-
before(:all) do
|
6
|
-
end
|
7
|
-
|
8
|
-
context "when initialized" do
|
9
|
-
before(:each) do
|
10
|
-
end
|
11
|
-
|
12
|
-
context "with top 20" do
|
13
|
-
it "should have a manga list with top 20 mangas" do
|
14
|
-
@pop2 = PopularManga.new('http://www.mangareader.net/popular', 20)
|
15
|
-
expect(@pop2.mangas_list.length).to eq(20)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
context "with top 50" do
|
20
|
-
it "should have a manga list with top 50 mangas" do
|
21
|
-
@pop3 = PopularManga.new('http://www.mangareader.net/popular', 50)
|
22
|
-
expect(@pop3.mangas_list.length).to eq(50)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
context "with top 90" do
|
27
|
-
it "should have a manga list with top 90 mangas" do
|
28
|
-
@pop4 = PopularManga.new('http://www.mangareader.net/popular', 90)
|
29
|
-
expect(@pop4.mangas_list.length).to eq(90)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should have an empty mangas array" do
|
34
|
-
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
35
|
-
expect(@pop.mangas).to be_empty
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
context "when get_manga is called" do
|
40
|
-
it "should have 1 manga in mangas" do
|
41
|
-
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
42
|
-
@pop.get_manga(1)
|
43
|
-
expect(@pop.mangas.length).to eq(1)
|
44
|
-
end
|
45
|
-
|
46
|
-
it "should have 2 mangas in mangas" do
|
47
|
-
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
48
|
-
@pop.get_manga(1)
|
49
|
-
@pop.get_manga(2)
|
50
|
-
expect(@pop.mangas.length).to eq(2)
|
51
|
-
end
|
52
|
-
|
53
|
-
it "should have Bleach in mangas" do
|
54
|
-
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
55
|
-
@pop.get_manga(1)
|
56
|
-
expect(@pop.mangas.length).to eq(1)
|
57
|
-
end
|
58
|
-
|
59
|
-
it "should only get manga once" do
|
60
|
-
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
61
|
-
@pop.get_manga(1)
|
62
|
-
@pop.get_manga(1)
|
63
|
-
expect(@pop.mangas.length).to eq(1)
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
|
3
|
+
module Mangdown
|
4
|
+
describe PopularManga do
|
5
|
+
before(:all) do
|
6
|
+
end
|
7
|
+
|
8
|
+
context "when initialized" do
|
9
|
+
before(:each) do
|
10
|
+
end
|
11
|
+
|
12
|
+
context "with top 20" do
|
13
|
+
it "should have a manga list with top 20 mangas" do
|
14
|
+
@pop2 = PopularManga.new('http://www.mangareader.net/popular', 20)
|
15
|
+
expect(@pop2.mangas_list.length).to eq(20)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context "with top 50" do
|
20
|
+
it "should have a manga list with top 50 mangas" do
|
21
|
+
@pop3 = PopularManga.new('http://www.mangareader.net/popular', 50)
|
22
|
+
expect(@pop3.mangas_list.length).to eq(50)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context "with top 90" do
|
27
|
+
it "should have a manga list with top 90 mangas" do
|
28
|
+
@pop4 = PopularManga.new('http://www.mangareader.net/popular', 90)
|
29
|
+
expect(@pop4.mangas_list.length).to eq(90)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should have an empty mangas array" do
|
34
|
+
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
35
|
+
expect(@pop.mangas).to be_empty
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when get_manga is called" do
|
40
|
+
it "should have 1 manga in mangas" do
|
41
|
+
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
42
|
+
@pop.get_manga(1)
|
43
|
+
expect(@pop.mangas.length).to eq(1)
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should have 2 mangas in mangas" do
|
47
|
+
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
48
|
+
@pop.get_manga(1)
|
49
|
+
@pop.get_manga(2)
|
50
|
+
expect(@pop.mangas.length).to eq(2)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should have Bleach in mangas" do
|
54
|
+
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
55
|
+
@pop.get_manga(1)
|
56
|
+
expect(@pop.mangas.length).to eq(1)
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should only get manga once" do
|
60
|
+
@pop = PopularManga.new('http://www.mangareader.net/popular', 20)
|
61
|
+
@pop.get_manga(1)
|
62
|
+
@pop.get_manga(1)
|
63
|
+
expect(@pop.mangas.length).to eq(1)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require_relative '../../lib/mandown'
|
2
|
-
|
3
|
-
include Mandown
|
4
|
-
|
5
|
-
$chapter = Chapter.new('http://www.mangareader.net/bleach/537', 'Bleach 537')
|
1
|
+
require_relative '../../lib/mandown'
|
2
|
+
|
3
|
+
include Mandown
|
4
|
+
|
5
|
+
$chapter = Chapter.new('http://www.mangareader.net/bleach/537', 'Bleach 537')
|
data/spec/spec_helper.rb
CHANGED
@@ -1,39 +1,37 @@
|
|
1
|
-
require 'rspec'
|
2
|
-
require 'yaml'
|
3
|
-
require_relative '../lib/mangdown'
|
4
|
-
|
5
|
-
dirs = ['../../Bleach 537',
|
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
|
-
config.
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
#
|
35
|
-
#
|
36
|
-
|
37
|
-
|
38
|
-
config.order = 'random'
|
39
|
-
end
|
1
|
+
require 'rspec'
|
2
|
+
require 'yaml'
|
3
|
+
require_relative '../lib/mangdown'
|
4
|
+
|
5
|
+
dirs = ['../../Bleach 537', '../../6 NO TRIGGER']
|
6
|
+
|
7
|
+
dirs.each do |d|
|
8
|
+
dir = File.expand_path(d, __FILE__)
|
9
|
+
if Dir.exist?(dir)
|
10
|
+
print '*'
|
11
|
+
FileUtils.rm_rf(dir)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
path = File.expand_path('../../Bleach 537 - Page 1.jpg', __FILE__)
|
16
|
+
if File.exist?(path)
|
17
|
+
print '*'
|
18
|
+
FileUtils.rm(path)
|
19
|
+
end
|
20
|
+
|
21
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
22
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
23
|
+
# Require this file using `require "spec_helper"` to ensure that it is only
|
24
|
+
# loaded once.
|
25
|
+
#
|
26
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
27
|
+
RSpec.configure do |config|
|
28
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
29
|
+
config.run_all_when_everything_filtered = true
|
30
|
+
config.filter_run :focus
|
31
|
+
|
32
|
+
# Run specs in random order to surface order dependencies. If you find an
|
33
|
+
# order dependency and want to debug it, you can fix the order by providing
|
34
|
+
# the seed, which is printed after each run.
|
35
|
+
# --seed 1234
|
36
|
+
config.order = 'random'
|
37
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mangdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jphager2
|
@@ -16,6 +16,9 @@ executables: []
|
|
16
16
|
extensions: []
|
17
17
|
extra_rdoc_files: []
|
18
18
|
files:
|
19
|
+
- LICENSE
|
20
|
+
- doc/help.txt
|
21
|
+
- lib/mangdown.rb
|
19
22
|
- lib/mangdown/cbz.rb
|
20
23
|
- lib/mangdown/chapter.rb
|
21
24
|
- lib/mangdown/commands.rb
|
@@ -24,12 +27,6 @@ files:
|
|
24
27
|
- lib/mangdown/page.rb
|
25
28
|
- lib/mangdown/popular.rb
|
26
29
|
- lib/mangdown/tools.rb
|
27
|
-
- lib/mangdown.rb
|
28
|
-
- scripts/cbz_dirs.rb
|
29
|
-
- scripts/dl_fk_ch.rb
|
30
|
-
- scripts/dl_fk_chps.rb
|
31
|
-
- scripts/dl_slow.rb
|
32
|
-
- scripts/get_all_fk_page.rb
|
33
30
|
- spec/mangdown/chapter_spec.rb
|
34
31
|
- spec/mangdown/commands_spec.rb
|
35
32
|
- spec/mangdown/manga_spec.rb
|
@@ -37,8 +34,6 @@ files:
|
|
37
34
|
- spec/mangdown/popular_spec.rb
|
38
35
|
- spec/objects/make_chapter.rb
|
39
36
|
- spec/spec_helper.rb
|
40
|
-
- LICENSE
|
41
|
-
- doc/help.txt
|
42
37
|
homepage:
|
43
38
|
licenses:
|
44
39
|
- MIT
|
@@ -49,17 +44,17 @@ require_paths:
|
|
49
44
|
- lib
|
50
45
|
required_ruby_version: !ruby/object:Gem::Requirement
|
51
46
|
requirements:
|
52
|
-
- -
|
47
|
+
- - ">="
|
53
48
|
- !ruby/object:Gem::Version
|
54
49
|
version: '0'
|
55
50
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
51
|
requirements:
|
57
|
-
- -
|
52
|
+
- - ">="
|
58
53
|
- !ruby/object:Gem::Version
|
59
54
|
version: '0'
|
60
55
|
requirements: []
|
61
56
|
rubyforge_project:
|
62
|
-
rubygems_version: 2.
|
57
|
+
rubygems_version: 2.2.2
|
63
58
|
signing_key:
|
64
59
|
specification_version: 4
|
65
60
|
summary: Downloads Manga
|
data/scripts/cbz_dirs.rb
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
require 'zip'
|
2
|
-
|
3
|
-
|
4
|
-
main_dir = File.expand_path(ARGV[0] || '.')
|
5
|
-
|
6
|
-
# main_dir = Dir.pwd + '/' + main_dir.to_s unless main_dir =~ /[a-zA-Z]:[\/\\]/
|
7
|
-
|
8
|
-
Dir.chdir(main_dir)
|
9
|
-
|
10
|
-
def check_file_or_dir_name(name)
|
11
|
-
num = name.slice(/(\d+)(\.jpg)*\Z/, 1)
|
12
|
-
|
13
|
-
if num
|
14
|
-
while num.length < 3
|
15
|
-
num = '0' + num
|
16
|
-
end
|
17
|
-
|
18
|
-
name.sub(/(\d+)(\.jpg)*\Z/, num + '\2')
|
19
|
-
end
|
20
|
-
|
21
|
-
name
|
22
|
-
end
|
23
|
-
|
24
|
-
def check_dir(dir)
|
25
|
-
Dir.glob(dir + '/*').each do |d|
|
26
|
-
next if d.include?('.cbz')
|
27
|
-
yield(d)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def validate_file_or_dir_names(dir)
|
32
|
-
check_dir(dir) do |e|
|
33
|
-
f = check_file_or_dir_name(e)
|
34
|
-
|
35
|
-
unless f == e
|
36
|
-
File.rename(e, f)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def cbz_dir(dir)
|
42
|
-
zip_file_name = dir + '.cbz'
|
43
|
-
dir += '/' unless dir[-1] == '/'
|
44
|
-
|
45
|
-
Zip::File.open(zip_file_name, Zip::File::CREATE) do |zp|
|
46
|
-
Dir[File.join(dir, '**', '**')].each do |file|
|
47
|
-
zp.add(file.sub(dir, ''), file)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def cbz_sub_dirs(dir)
|
53
|
-
check_dir(dir) do |d|
|
54
|
-
cbz_dir(d)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
if __FILE__ == $0
|
59
|
-
# Make sure all sub dirs are checked
|
60
|
-
validate_file_or_dir_names(main_dir)
|
61
|
-
# Make sure all sub dirs have files checked
|
62
|
-
check_dir(main_dir) { |d| validate_file_or_dir_names(d)}
|
63
|
-
# Create cbz files for all sub dirs
|
64
|
-
cbz_sub_dirs(main_dir)
|
65
|
-
# new line
|
66
|
-
puts
|
67
|
-
end
|
data/scripts/dl_fk_ch.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require_relative '../lib/mangdown'
|
2
|
-
|
3
|
-
if ARGV.length == 3
|
4
|
-
uri, name, pages = ARGV
|
5
|
-
pages = pages.to_i
|
6
|
-
else
|
7
|
-
puts 'Wrong number of arguments'
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
Dir.chdir('D:/Downloads/Manga/FK')
|
12
|
-
|
13
|
-
fk = Mangdown::FKChapter.new(uri, name, pages)
|
14
|
-
fk.download
|
data/scripts/dl_fk_chps.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require_relative 'get_all_fk_page'
|
2
|
-
|
3
|
-
|
4
|
-
module Mangdown
|
5
|
-
fk_dir = 'd:/downloads/manga/FK'
|
6
|
-
|
7
|
-
Dir.chdir(fk_dir)
|
8
|
-
|
9
|
-
chps = ARGV[0].to_i
|
10
|
-
chps = 1 unless (chps > 0 and chps < 100)
|
11
|
-
|
12
|
-
# puts "chps is: #{chps}"
|
13
|
-
|
14
|
-
chapters_list = get_chapters(chps)
|
15
|
-
|
16
|
-
# puts chapters_list.length
|
17
|
-
# puts chapters_list
|
18
|
-
|
19
|
-
chapters_list.each do |ch|
|
20
|
-
fk = FKChapter.new(ch[0], ch[1], ch[2])
|
21
|
-
fk.download
|
22
|
-
end
|
23
|
-
|
24
|
-
CBZ.cbz_sub_dirs(fk_dir)
|
25
|
-
end
|
data/scripts/dl_slow.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
require_relative '../lib/mangdown'
|
2
|
-
require 'timeout'
|
3
|
-
|
4
|
-
Dir.chdir('D:/downloads/manga')
|
5
|
-
|
6
|
-
module Mangdown
|
7
|
-
def no_time_out(tries = 3)
|
8
|
-
begin
|
9
|
-
timeout(120) do
|
10
|
-
yield
|
11
|
-
end
|
12
|
-
rescue
|
13
|
-
if tries > 0
|
14
|
-
tries -= 1
|
15
|
-
puts "Tries left: #{tries}"
|
16
|
-
no_time_out(tries)
|
17
|
-
else
|
18
|
-
return
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def slow_get_chapters(m, bgn, nd)
|
24
|
-
@@file_name = File.expand_path("#{m.name}_temp.yml")
|
25
|
-
|
26
|
-
exists = File.exist?(@@file_name)
|
27
|
-
m_from_file = YAML.load(File.open(@@file_name, 'r').read) if exists
|
28
|
-
|
29
|
-
if m_from_file and (m_from_file.chapters.length > 0)
|
30
|
-
frst = (m.chapters_list[bgn][1] == m_from_file.chapters.first.name)
|
31
|
-
lst = (m.chapters_list[nd][1] == m_from_file.chapters.last.name)
|
32
|
-
|
33
|
-
m = m_from_file if (frst and lst)
|
34
|
-
else
|
35
|
-
m.chapters_list[bgn..nd].each_index do |i|
|
36
|
-
no_time_out {m.get_chapter(i + bgn)}
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
File.open(@@file_name, 'w') {|f| f.write(m.to_yaml)}
|
41
|
-
m
|
42
|
-
end
|
43
|
-
|
44
|
-
def slow_dl_chapters(m)
|
45
|
-
Dir.mkdir(m.name) unless Dir.exist?(m.name)
|
46
|
-
Dir.chdir(m.name)
|
47
|
-
|
48
|
-
m.chapters.each do |chap|
|
49
|
-
puts "DL - #{chap.name}.."
|
50
|
-
no_time_out {chap.download}
|
51
|
-
end
|
52
|
-
|
53
|
-
File.delete(@@file_name)
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
57
|
-
|
58
|
-
|
59
|
-
if __FILE__ == $0
|
60
|
-
unless ARGV.length >= 2
|
61
|
-
puts 'Wrong number of arguments'
|
62
|
-
exit
|
63
|
-
end
|
64
|
-
|
65
|
-
uri, name = ARGV
|
66
|
-
|
67
|
-
m = Manga.new(uri, name)
|
68
|
-
|
69
|
-
bgn = ARGV[2] ? ARGV[2].to_i - 1 : 0
|
70
|
-
nd = ARGV[3] ? ARGV[3].to_i - 1 : m.chapters_list.length
|
71
|
-
|
72
|
-
m = slow_get_chapters(m, bgn, nd)
|
73
|
-
slow_dl_chapters(m)
|
74
|
-
else
|
75
|
-
puts "Mangdown module included."
|
76
|
-
puts "Ready.."
|
77
|
-
end
|