hacker-curse 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 4d1c9443f8f9caa4d49b856573fd3fd0ea2aecbb
4
- data.tar.gz: 80b5976740d8c1edfa17054483081b5411083262
3
+ metadata.gz: a7befb7b18c8fa64f60aa1cd7f3eb2a62991f895
4
+ data.tar.gz: 6f489872df448003706c3ec2c2ea8564850b318c
5
5
  SHA512:
6
- metadata.gz: 062ce4af9ae109e51586eb363173fee1e30b76489f7a98939fcefac80eadd925868d28229949251fdd745286b27e13d629c0c64c68d32b6e1250f0972fe35060
7
- data.tar.gz: 371b91a4ba9ef832e1cf907d9d6323bef878313597fd1d1635db271673f171e108f0cc02afd302954a99ebe5478d900757b51cf24a86e3e43bc8ec1d043f6d6c
6
+ metadata.gz: 196560fe4dc2ea32697ee76d64fd6d63cc97a203c2fb802fcfb72ad6b0bd694149820bf453f4c660713200abe9ade53df8cd900010d58314ad7d8591a3355bf2
7
+ data.tar.gz: 5a1d90604d37f3fa7220e8c35ce05ff98e27af4c45ea7760b7037ff2f14ddc4c0f756c9a79ed86c9c0c7db4e2fc4392963b71792ac6d41b2c6e79a94063f1a28
@@ -0,0 +1,4 @@
1
+ = hacker-curse 0.0.3 2016-03-21
2
+ * changed http to https
3
+ * File.expand_path for cache_dir
4
+ * checking for HTTPError when fetching RSS
data/bin/corvus CHANGED
@@ -6,7 +6,7 @@
6
6
  # Author: jkepler http://github.com/mare-imbrium//jkepler
7
7
  # Date: 2014-07-30
8
8
  # License: MIT
9
- # Last update: 2014-09-11 12:56
9
+ # Last update: 2016-03-21 00:05
10
10
  # ----------------------------------------------------------------------------- #
11
11
  # corvus.rb Copyright (C) 2014 j kepler
12
12
  # == TODO
@@ -369,8 +369,8 @@ def fetch_data_from_net subforum=nil, more_url=nil
369
369
  print "Enter name of subforum: "
370
370
  subforum = Readline::readline('>', true)
371
371
  return if subforum == ""
372
- $host = forum_to_host subforum
373
372
  end
373
+ $host = forum_to_host subforum
374
374
  filename = forum_to_file subforum
375
375
  print "fetching for #{subforum} ... saving to #{filename}\n"
376
376
  m = nil
@@ -409,7 +409,8 @@ def file_to_forum filename
409
409
  end
410
410
  def forum_to_file forum
411
411
  file = "#{forum}.yml".sub("/","__")
412
- file = "#{$cache_path}/#{file}"
412
+ cp = File.expand_path $cache_path
413
+ file = "#{cp}/#{file}"
413
414
  end
414
415
  def forum_to_host fo
415
416
  if $hacker_forums.include? fo
@@ -1075,7 +1076,8 @@ def choose_forum
1075
1076
  end
1076
1077
  def data_cached_for filename
1077
1078
  f = "#{filename}.yml".gsub("/","__")
1078
- f = "#{$cache_path}/#{f}"
1079
+ cp = File.expand_path $cache_path
1080
+ f = "#{cp}/#{f}"
1079
1081
  return f if File.exists? f
1080
1082
  perror "No data cached for #{f} "
1081
1083
  return nil
@@ -2241,7 +2243,8 @@ def ctrlp arr
2241
2243
  end
2242
2244
  end
2243
2245
  def get_hint
2244
- if $gviscols == 2 and $view.size > 25
2246
+ #if $gviscols == 2 and $view.size > 25
2247
+ if $gviscols == 2 #and $view.size > 25
2245
2248
  return "(Toggle) Press =1 to see single column, =l for long listing"
2246
2249
  end
2247
2250
  if $long_listing
@@ -21,4 +21,5 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.6"
22
22
  spec.add_development_dependency "rake", ">= 0.9.6"
23
23
  spec.add_runtime_dependency "canis", ">= 0.0.3", ">= 0.0.3"
24
+ spec.add_runtime_dependency "nokogiri"
24
25
  end
@@ -147,6 +147,7 @@ module HackerCurse
147
147
  end
148
148
  def get_first_page
149
149
  #@arr = to_hash @url
150
+ # 2016-03-20 - 23:45 page can be nil if HTTPError
150
151
  page = _retrieve_page @url
151
152
  end
152
153
  def get_next_page opts={}
@@ -213,17 +214,27 @@ module HackerCurse
213
214
  end
214
215
  end
215
216
  # returns nokogiri html doc and writes html is required.
217
+ # returns nil if HTTPError
216
218
  def get_doc_for_url url
217
- #puts "get_doc #{url} "
218
- out = open(url)
219
- doc = Nokogiri::HTML(out)
220
- if @save_html
221
- subforum = @subforum || "unknown"
222
- outfile = @htmloutfile || "#{subforum}.html"
223
- #if !File.exists? url
224
- out.rewind
219
+ $stderr.puts "get_doc #{url} "
220
+ doc = nil
221
+ # 2016-03-20 - added check since sometimes server error was coming
222
+ begin
223
+ out = open(url)
224
+ rescue StandardError=>e
225
+ $stderr.puts "\tError: #{e}"
226
+ # 2016-03-20 - adding exit since it will go to client that shelled this command.
227
+ exit 1
228
+ else
229
+ doc = Nokogiri::HTML(out)
230
+ if @save_html
231
+ subforum = @subforum || "unknown"
232
+ outfile = @htmloutfile || "#{subforum}.html"
233
+ #if !File.exists? url
234
+ out.rewind
225
235
  File.open(outfile, 'w') {|f| f.write(out.read) }
226
- #end
236
+ #end
237
+ end
227
238
  end
228
239
  return doc
229
240
  end
@@ -4,7 +4,7 @@ module HackerCurse
4
4
 
5
5
  class RedditNewsParser < AbstractSiteParser
6
6
  def initialize config={}
7
- @host = config[:host] || "http://www.reddit.com/"
7
+ @host = config[:host] || "https://www.reddit.com"
8
8
  subforum = config[:subforum] || "unknown"
9
9
  _url="#{@host}/r/#{subforum}/.mobile"
10
10
  config[:url] ||= _url
@@ -15,6 +15,7 @@ module HackerCurse
15
15
  $stderr.puts "_retrieve_page got url #{url} "
16
16
  raise "url should be string" unless url.is_a? String
17
17
  arr = to_hash url
18
+ return nil unless arr # exception was caught
18
19
  page = hash_to_class arr
19
20
  #to_yml "#{@subforum}OLD.yml", arr
20
21
  return page
@@ -32,6 +33,7 @@ module HackerCurse
32
33
  page = {}
33
34
  arr = Array.new
34
35
  doc = get_doc_for_url url
36
+ return nil unless doc # exception was caught
35
37
  page[:url] = url
36
38
  now = Time.now
37
39
  page[:create_date_seconds] = now.to_i
@@ -1,5 +1,5 @@
1
1
  module Hacker
2
2
  module Curse
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,57 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hacker-curse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - kepler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-12 00:00:00.000000000 Z
11
+ date: 2016-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.9.6
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.9.6
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: canis
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.0.3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.0.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: nokogiri
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: View Hacker News and reddit articles on terminal using ncurses
56
70
  email:
57
71
  - githubkepler.50s@gishpuppy.com
@@ -66,7 +80,8 @@ executables:
66
80
  extensions: []
67
81
  extra_rdoc_files: []
68
82
  files:
69
- - .gitignore
83
+ - ".gitignore"
84
+ - CHANGELOG
70
85
  - Gemfile
71
86
  - LICENSE
72
87
  - README.md
@@ -95,17 +110,17 @@ require_paths:
95
110
  - lib
96
111
  required_ruby_version: !ruby/object:Gem::Requirement
97
112
  requirements:
98
- - - '>='
113
+ - - ">="
99
114
  - !ruby/object:Gem::Version
100
115
  version: '0'
101
116
  required_rubygems_version: !ruby/object:Gem::Requirement
102
117
  requirements:
103
- - - '>='
118
+ - - ">="
104
119
  - !ruby/object:Gem::Version
105
120
  version: '0'
106
121
  requirements: []
107
122
  rubyforge_project:
108
- rubygems_version: 2.2.2
123
+ rubygems_version: 2.4.5.1
109
124
  signing_key:
110
125
  specification_version: 4
111
126
  summary: View hacker news and reddit articles on terminal using ncurses