web_grep 1.0.3 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/bin/web_grep +15 -4
- data/lib/web_grep/grep.rb +2 -3
- data/lib/web_grep/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3163f6e8b38d601244de947a2a915d60245ae6bd
|
4
|
+
data.tar.gz: 31ea7e0fa494d940af32d07afec2a2ca38d3c22c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb63d0c37f10d083f864222d29a11a5f4219aba9ec24f2ed1e7f62038abc4b8765e65f6ebd20aaf2e8128ebc82e3efcb6481f5d5427a2c8bddc1ef293b91ca3b
|
7
|
+
data.tar.gz: bb42430ce81efd10179d579bf983e8db39a4adef6cf5eca21a4a29a04a06b622fed0fa5972231c7bfe3a54bd3059848719d903444f47f47ca8c5d1b0470e502c
|
data/README.md
CHANGED
@@ -23,7 +23,9 @@ Options
|
|
23
23
|
-f, --file [file_path] Search in file: "../index.html"
|
24
24
|
-u, --url [url] Search in URL: "ya.ru"
|
25
25
|
-q, --quite Show only xpaths
|
26
|
-
-c, --
|
26
|
+
-c, --count Show only count
|
27
|
+
-x, --xpath Show xpaths to founded
|
28
|
+
-s, --css Show css paths to founded
|
27
29
|
-v, --version Show version
|
28
30
|
-h, --help Show this help
|
29
31
|
```
|
data/bin/web_grep
CHANGED
@@ -7,8 +7,7 @@ require 'web_grep'
|
|
7
7
|
options = {}
|
8
8
|
OptionParser.new do |opt|
|
9
9
|
opt.banner = "Usage:\n web_grep WORD WEB_PAGE [OPTIONS]"
|
10
|
-
opt.separator
|
11
|
-
opt.separator 'Options'
|
10
|
+
opt.separator "\nOptions"
|
12
11
|
|
13
12
|
opt.on('-w', '--word [word]', String, 'Searcheble word or RegExp') do |word|
|
14
13
|
options[:word] = word
|
@@ -26,10 +25,18 @@ OptionParser.new do |opt|
|
|
26
25
|
options[:quite] = q
|
27
26
|
end
|
28
27
|
|
29
|
-
opt.on('-c', '--
|
28
|
+
opt.on('-c', '--count', 'Show only count') do |c|
|
30
29
|
options[:only_count] = c
|
31
30
|
end
|
32
31
|
|
32
|
+
opt.on('-x', '--xpath', 'Show xpaths to founded') do |x|
|
33
|
+
options[:xpath] = x
|
34
|
+
end
|
35
|
+
|
36
|
+
opt.on('-s', '--css', 'Show css paths to founded') do |s|
|
37
|
+
options[:css] = s
|
38
|
+
end
|
39
|
+
|
33
40
|
opt.on_tail('-v', '--version', 'Show version') do
|
34
41
|
puts WebGrep::VERSION
|
35
42
|
exit
|
@@ -49,5 +56,9 @@ greped = WebGrep::Grep.new(
|
|
49
56
|
quite: options[:quite]
|
50
57
|
).grep!
|
51
58
|
|
52
|
-
|
59
|
+
greped.each do |l|
|
60
|
+
puts "\033[32;1m" + "CSS path: #{l.css_path}" if options[:css]
|
61
|
+
puts "\033[32;1m" + "XPath: #{l.path}" if options[:xpath]
|
62
|
+
puts "\033[0m" + "Matched content: #{l.content}" unless options[:quite]
|
63
|
+
end unless options[:only_count]
|
53
64
|
puts "#{"\033[32;1m"}Found #{greped.count}#{"\033[0m"}"
|
data/lib/web_grep/grep.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require 'open-uri'
|
3
3
|
|
4
|
+
require 'pry'
|
5
|
+
|
4
6
|
module WebGrep
|
5
7
|
class Grep
|
6
8
|
def initialize(word:,url:,file:,quite:)
|
@@ -18,9 +20,6 @@ module WebGrep
|
|
18
20
|
e.content
|
19
21
|
.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '')
|
20
22
|
.match /#{@word}/
|
21
|
-
end.map do |l|
|
22
|
-
"#{"\033[32;1m"}XPath: #{l.path}#{"\033[0m"}" \
|
23
|
-
"#{"\n\tMatched content: #{l.content}" if !@quite}"
|
24
23
|
end
|
25
24
|
rescue SocketError
|
26
25
|
raise 'Bad url or connection!'
|
data/lib/web_grep/version.rb
CHANGED