duckgo 1.2.0 → 1.2.1
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/bin/duckgo +15 -0
- data/docs/extracting_relevant_info.md +63 -0
- data/lib/duckgo/version.rb +1 -1
- metadata +2 -3
- data/de.surge.sh-favicon.ico +0 -0
- data/due.s-favicon.ico +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bc99459451547866cbe6143bae74a256ae367ee
|
4
|
+
data.tar.gz: b38dda87d89a65bea18c3fe59aa3a7373c09c0d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b3f498a3275210e586205c101fcac4d914e5e32ebd9acf1509bdb78c248f3178fe5103d6e7fa4c75c49daf0941fe89448c145e9c504b26b9bbc130fc59fcf8e
|
7
|
+
data.tar.gz: 55c352ffce08ba453f1c82af2db897d8a635f7808ef31b4b657afde44da71b25ceb3a4730d5463e7e21252791c532bcf6e4ecba15633df7996b2560ae2942864
|
data/bin/duckgo
CHANGED
@@ -23,6 +23,11 @@ duckgo [--version | -V] : Display version
|
|
23
23
|
duckgo [--favicon | -f] google.com : Get google's favicon
|
24
24
|
duckgo \\!gem duckgo : Use !bang syntax to search a specific site
|
25
25
|
|
26
|
+
If you do not see an answer, please shorten the search string.
|
27
|
+
e.g. 'something with tons of extra information' => 'something'
|
28
|
+
This is an aspect of DuckGo I can control, because the official API does not
|
29
|
+
allow a full search. More information - https://duckduckgo.com/api
|
30
|
+
|
26
31
|
View docs and API on https://github.com/wlib/duckgo
|
27
32
|
Made by Daniel Ethridge | git.io/de
|
28
33
|
"""
|
@@ -43,6 +48,16 @@ case ARGV[0]
|
|
43
48
|
puts "Queried favicon from #{site}."
|
44
49
|
file.close
|
45
50
|
exit
|
51
|
+
when "--infobox", "-i"
|
52
|
+
data = get_data(ARGV[1..-1].join(" "))
|
53
|
+
extras_data = find_extras(data)
|
54
|
+
if extras_data["Infobox"]
|
55
|
+
puts extract_infobox(data).to_yaml
|
56
|
+
exit
|
57
|
+
else
|
58
|
+
puts "No infobox retrieved, try more clear search keywords or remove 'the --infobox|-i flag'"
|
59
|
+
exit
|
60
|
+
end
|
46
61
|
else
|
47
62
|
handle(ARGV[0..-1].join(" "))
|
48
63
|
exit
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# Extracting Relevant Information
|
2
|
+
|
3
|
+
Once you get the data and parse it to a hash, you need to filter for the relevant information, here's how.
|
4
|
+
|
5
|
+
## extract_common()
|
6
|
+
|
7
|
+
Extract common occurring relevant information
|
8
|
+
|
9
|
+
### Arguments
|
10
|
+
|
11
|
+
`extract_common(data)`
|
12
|
+
|
13
|
+
+ `data`
|
14
|
+
- A hash with the data retrieved from the api (with `get_data()`)
|
15
|
+
|
16
|
+
### Usage
|
17
|
+
|
18
|
+
```Ruby
|
19
|
+
data = get_data("Hello World")
|
20
|
+
common = extract_common(data)
|
21
|
+
puts common #=> {"Heading"=>"Hello World", "Type"=>"Disambiguation"....
|
22
|
+
```
|
23
|
+
|
24
|
+
## find_extras()
|
25
|
+
|
26
|
+
This is an optional step to extract a deeper understanding of the data received.
|
27
|
+
|
28
|
+
### Arguments
|
29
|
+
|
30
|
+
`find_extras(data)`
|
31
|
+
|
32
|
+
+ `data`
|
33
|
+
- A hash with the data retrieved from the api (with `get_data()`)
|
34
|
+
|
35
|
+
### Usage
|
36
|
+
|
37
|
+
```Ruby
|
38
|
+
data = get_data("Mark Zuckerburg")
|
39
|
+
extras_data = find_extras(data)
|
40
|
+
puts extras_data #=> {"Infobox"=>{"Total"=>13}, "Results"=>{"Total"=>1}}
|
41
|
+
```
|
42
|
+
|
43
|
+
## extract_extras()
|
44
|
+
|
45
|
+
This is how we auomatically handle extracting extra data, based off of the output of `find_extras()`
|
46
|
+
|
47
|
+
### Arguments
|
48
|
+
|
49
|
+
`extract_extras(data, extras_data)`
|
50
|
+
|
51
|
+
+ `data`
|
52
|
+
- A hash with the data retrieved from the api (with `get_data()`)
|
53
|
+
+ `extras_data`
|
54
|
+
- The hash we got from `find_extras()`
|
55
|
+
|
56
|
+
### Usage
|
57
|
+
|
58
|
+
```Ruby
|
59
|
+
data = get_data("Apple Inc.")
|
60
|
+
extras_data = find_extras(data)
|
61
|
+
extras = extract_extras(data, extras_data)
|
62
|
+
puts extras #=> {"Infobox"=>{"Traded as"=>"NASDAQ: aapl AAPl...}, "Results"=>{"Official Site"...
|
63
|
+
```
|
data/lib/duckgo/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: duckgo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Ethridge
|
@@ -54,11 +54,10 @@ files:
|
|
54
54
|
- Rakefile
|
55
55
|
- bin/duckgo
|
56
56
|
- bin/setup
|
57
|
-
- de.surge.sh-favicon.ico
|
58
57
|
- docs/README.md
|
58
|
+
- docs/extracting_relevant_info.md
|
59
59
|
- docs/getting_data.md
|
60
60
|
- duckgo.gemspec
|
61
|
-
- due.s-favicon.ico
|
62
61
|
- lib/duckgo.rb
|
63
62
|
- lib/duckgo/version.rb
|
64
63
|
homepage: https://github.com/wlib/duckgo
|
data/de.surge.sh-favicon.ico
DELETED
File without changes
|
data/due.s-favicon.ico
DELETED
File without changes
|