vore 0.2.0-arm64-linux → 0.2.2-arm64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09c82aa5caf791c00aa94d520c4eb1c2f534b01962c306591665abfedf4eb642'
4
- data.tar.gz: 3bd1cd5fd96b34b3f654ae1d3aa96fe8ffa4eebf4c09bab3d3917e7a82618065
3
+ metadata.gz: a47f073e872dec14b08f1d243b67511210b8695735bfc79e0ac66b6be59ad982
4
+ data.tar.gz: e6a3f95fd41212bdc9401a10b98a5b39f7414c3a3dbb2ded96ea9da37d06f523
5
5
  SHA512:
6
- metadata.gz: 126ea0f4a8d77b947a2f17444cee79ecd687180e5179fe2b42f569dd312e7f9a5581e6f72f2f9f31f94774025a2acd59cead4bdeb5816ddf600c3113ee7b8b36
7
- data.tar.gz: 4b23fb0161770907c5acdff4ee7d6b041e1b61d4b17f8771180da7f4f1df111bf0cff55c567a1edd128b0f3895a1171285f0fe4ba59b419759a3c59dff4f621b
6
+ metadata.gz: ad07280c37d0f56bac4d597c7314c924ba56aa7262c70ab5026e6474a6d809f5b115f0f3cef6cfdc744589069daf06796994024211202705ab16fe224118fbbe
7
+ data.tar.gz: 65bd39b3786caa8216ebf04b246bcd164b66845bd2cd2d1f5ccac72428811bd1a45baee910f81a299dcb2b39621e4f97ea42b4f9dae0fcc22c7355fe96743c86
data/lib/vore/crawler.rb CHANGED
@@ -17,7 +17,7 @@ module Vore
17
17
  @selma = Selma::Rewriter.new(sanitizer: Selma::Sanitizer.new(sanitization_config), handlers: [@content_extractor])
18
18
  ext = PLATFORM.include?("windows") ? ".exe" : ""
19
19
  @executable = File.expand_path([__FILE__, "..", "..", "..", "exe", "vore-spider#{ext}"].join(FILE_SEPERATOR))
20
- @output_dir = "tmp/vore"
20
+ @parent_output_dir = "tmp/vore"
21
21
 
22
22
  return if File.exist?(@executable)
23
23
 
@@ -26,11 +26,12 @@ module Vore
26
26
  end
27
27
 
28
28
  def scrape_each_page(website, &block)
29
- output_dir = "#{@output_dir}/#{website.gsub(/[^a-zA-Z0-9]/, "_").squeeze("_")}"
29
+ output_dir = "#{@parent_output_dir}/#{website.gsub(/[^a-zA-Z0-9]/, "_").squeeze("_")}"
30
30
  Vore.logger.info("Vore started crawling #{website}, outputting to #{output_dir}")
31
31
 
32
32
  output = %x(#{@executable} \
33
33
  --user-agent #{user_agent} \
34
+ --delay 3000
34
35
  --url #{website} \
35
36
  download \
36
37
  -t \
@@ -38,12 +39,25 @@ module Vore
38
39
 
39
40
  Vore.logger.info("Vore finished crawling #{website}: #{output}")
40
41
 
41
- Dir.glob("tmp/**/*").each do |path|
42
+ results = {
43
+ pages_visited: 0,
44
+ pages_unprocessed: 0,
45
+ unprocessed_pages: [],
46
+ }
47
+
48
+ Dir.glob(File.join(output_dir, "**", "*")).each do |path|
42
49
  next unless File.file?(path)
43
50
 
44
51
  html_file = File.read(path).force_encoding("UTF-8")
45
52
  rewritten_html_file = @selma.rewrite(html_file)
46
53
 
54
+ results[:pages_visited] += 1
55
+ if rewritten_html_file.empty?
56
+ results[:pages_unprocessed] += 1
57
+ results[:unprocessed_pages] << path
58
+ next
59
+ end
60
+
47
61
  # drops the first 3 parts of the path, which are "tmp", "vore", and the site name
48
62
  url_path = path.split(FILE_SEPERATOR)[3..].join("/")
49
63
 
@@ -58,6 +72,8 @@ module Vore
58
72
  ensure
59
73
  File.delete(path) if File.file?(path)
60
74
  end
75
+
76
+ results
61
77
  end
62
78
 
63
79
  # def crawl(site, block)
@@ -19,7 +19,13 @@ module Vole
19
19
  end
20
20
 
21
21
  def handle_element(element)
22
- if element.tag_name == "pre" || element.tag_name == "code" || element.tag_name == "script" || element.tag_name == "form"
22
+ if element.tag_name == "pre" ||
23
+ element.tag_name == "code" ||
24
+ element.tag_name == "form" ||
25
+ element.tag_name == "style" ||
26
+ element.tag_name == "noscript" ||
27
+ element.tag_name == "script" ||
28
+ element.tag_name == "svg"
23
29
  element.remove
24
30
  elsif element.tag_name == "title"
25
31
  @within_title = true
data/lib/vore/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Vore
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: arm64-linux
6
6
  authors:
7
7
  - Garen J. Torikian