goog 0.2.0 → 0.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.
Files changed (3) hide show
  1. data/bin/goog +35 -10
  2. data/lib/goog.rb +1 -1
  3. metadata +3 -3
data/bin/goog CHANGED
@@ -52,12 +52,10 @@ END
52
52
  opts.on("-d", '--date-range [DATE RANGE]', 'Show results for date range. See below for options.') {|dr| options[:date_range] = dr }
53
53
  opts.on("-n", '--num-pages [NUM PAGES]', 'Show NUM PAGES pages of results') {|pages| options[:pages] = pages.to_i }
54
54
  opts.on("-c", '--color', 'Force color output') {options[:color] = true}
55
- opts.on("-v", '--vim', 'Open results in Vim and bind <leader>o to open URL on or after cursor') {
56
- require 'tempfile'
57
- options[:vim] = true
58
- $tempfile = Tempfile.new('goog')
59
- $stdout = $tempfile
60
- }
55
+ opts.on("-x", '--expand', 'Expand all results into web page text') { options[:expand] = true }
56
+ opts.on("-e", '--elinks', 'Open results in elinks') { options[:elinks] = true }
57
+ opts.on("-l", '--less', 'Open results in less') { options[:less] = true }
58
+ opts.on("-v", '--vim', 'Open results in Vim and bind <leader>o to open URL on or after cursor') { options[:vim] = true }
61
59
  opts.on("-i", '--install-plugin', 'Install Goog as a Vim plugin') {
62
60
  puts "Installing goog.vim into your ~/.vim/plugin directory."
63
61
  `cp #{$vimscript_file} #{ENV['HOME']}/.vim/plugin/`
@@ -74,6 +72,13 @@ END
74
72
  exit
75
73
  }
76
74
  end.parse!
75
+
76
+ if options[:elinks] || options[:vim] || options[:less]
77
+ require 'tempfile'
78
+ $tempfile = Tempfile.new('goog')
79
+ $stdout = $tempfile
80
+ end
81
+
77
82
  query = ARGV.join(' ')
78
83
  unless query
79
84
  abort "Please provide a search query"
@@ -88,6 +93,7 @@ query = "/search?q=#{CGI.escape query}"
88
93
  if options[:date_range]
89
94
  query += "&as_qdr=#{options[:date_range]}"
90
95
  end
96
+ pages = []
91
97
  (1..(options[:pages] || 1)).each do |page|
92
98
  if query.nil?
93
99
  exit
@@ -116,13 +122,22 @@ end
116
122
  end
117
123
  end
118
124
  number = (page - 1) * 10 + (index + 1)
119
- res = if !options[:vim] && (STDOUT.tty? || options[:color])
120
- ["#{number}. \e[36m#{title}\e[0m", excerpt, "\e[35m#{link }\e[0m"]
125
+ res = if options[:elinks]
126
+ %Q| <p>#{number}. <strong>#{title}</strong><br/>#{excerpt}<br/><a href='#{link}'>#{link}</a></p> |
127
+ elsif !options[:vim] && (STDOUT.tty? || options[:less] || options[:color])
128
+ ["#{number}. \e[36m#{title}\e[0m", excerpt, "\e[35m#{link }\e[0m"].compact
121
129
  else
122
- ["#{number}. #{title}", excerpt, link]
130
+ ["#{number}. #{title}", excerpt, link].compact
123
131
  end
124
- $stdout.puts res.compact
132
+ puts '-' * 80
133
+ $stdout.puts res
125
134
  $stdout.puts
135
+ if options[:expand]
136
+ $stderr.puts "Fetching #{title}: #{link}"
137
+ puts "#{title}: #{link}"
138
+ puts `elinks -dump -no-numbering '#{link}'`
139
+ end
140
+ puts
126
141
  }
127
142
 
128
143
  # find next page link
@@ -137,3 +152,13 @@ if options[:vim]
137
152
  exec "vim -S #$vimscript_file -c 'call g:Goog_set_up_search_results_buffer()' #{$tempfile.path}"
138
153
  end
139
154
 
155
+ if options[:less]
156
+ $stdout.close
157
+ exec "less -R #{$tempfile.path}"
158
+ end
159
+
160
+ if options[:elinks]
161
+ $stdout.close
162
+ exec "mv #{$tempfile.path}{,.html} && elinks #{$tempfile.path}.html"
163
+ end
164
+
data/lib/goog.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Goog
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-08 00:00:00.000000000 Z
12
+ date: 2012-05-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -58,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
58
  version: '0'
59
59
  requirements: []
60
60
  rubyforge_project: goog
61
- rubygems_version: 1.8.19
61
+ rubygems_version: 1.8.23
62
62
  signing_key:
63
63
  specification_version: 3
64
64
  summary: Simple command line interface to Google search