hacker-curse 0.0.2 → 0.0.3

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 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