mns_timeline 0.1.2 → 0.2.0

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: 82251504958ae2871d01ac352a133918917a26af
4
- data.tar.gz: 7ba144ada135968256657a6fd19be70c8856b8ea
3
+ metadata.gz: 5f3990871c1224f957a2e1df07db7346d28d9cb6
4
+ data.tar.gz: d21fda35abe1f931bb4e00665187ef881c6acb18
5
5
  SHA512:
6
- metadata.gz: 51554a5528f4b53556d5945460a7b47da8c88e578b533b66b4a60480a2f07964e102854f8ac0eee10803a49c85774ee78d3c01384bf3376567f4f517c7f0bd61
7
- data.tar.gz: 71fdbb5a46c81ad18940c1175294b8f82eb734398ed50a847c44b0caf006831020902b3c0d82dbc28be8f4d109b4f7059caf4ea2a2bfe7c80f81c4f990a181de
6
+ metadata.gz: 0410076073b440ccb4cda74083128028d1691d4e53b6581c90201eb15bdf1cef02f834e48b6ddb0be8bf8be2e5fefd39737d1919b9e0b7c011474eeab126c1c4
7
+ data.tar.gz: d83cd5a5dd0573b813c4f5dba39e4e1a231fe52da3c5fdf4dbd7b396d375160441b6b2f4bb2ca83e905b7f2b02e30aa0444dc498114e48bc07c6bddcd046c700
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -4,14 +4,15 @@
4
4
 
5
5
 
6
6
  require 'sps-sub'
7
- require "sqlite3"
8
7
  require 'fileutils'
9
8
  require 'daily_notices'
9
+ require 'recordx_sqlite'
10
10
 
11
11
 
12
12
  class MNSTimeline < SPSSub
13
13
 
14
- def initialize(timeline: 'notices', host: 'sps', port: 59000, dir: '.', options: {})
14
+ def initialize(timeline: 'notices', host: 'sps', port: 59000,
15
+ dir: '.', options: {})
15
16
 
16
17
  # note: a valid url_base must be provided
17
18
 
@@ -24,8 +25,25 @@ class MNSTimeline < SPSSub
24
25
  }.merge(options)
25
26
 
26
27
  super(host: host, port: port)
27
- @filepath = dir
28
- @timeline = timeline
28
+
29
+ timeline_dir = File.join(dir, timeline)
30
+
31
+ @notices = DailyNotices.new timeline_dir,
32
+ @options.merge(identifier: timeline, title: timeline.capitalize)
33
+
34
+ dbfilename = File.join(timeline_dir, 'timeline.db')
35
+
36
+ table = {
37
+ notices: {
38
+ id: 0,
39
+ date: Date.today,
40
+ topic: '',
41
+ title: '',
42
+ description: '',
43
+ link: ''
44
+ }
45
+ }
46
+ @rxnotices = RecordxSqlite.new(dbfilename, table: table)
29
47
 
30
48
  end
31
49
 
@@ -37,52 +55,38 @@ class MNSTimeline < SPSSub
37
55
 
38
56
  def ontopic(timeline_topic, msg)
39
57
 
40
- puts "%s: %s %s" % [timeline_topic, Time.now.to_s, msg.inspect]
58
+ puts "%s %s: %s" % [Time.now.to_s, timeline_topic, msg.inspect]
41
59
 
42
60
  topic, id = msg.split('/').values_at 0, -1
61
+
43
62
  url_base = @options[:url_base]
44
- fileid = Time.at(id.to_i).strftime("%Y/%b/%d/").downcase + id + '/index.xml'
63
+ fileid = Time.at(id.to_i)
64
+ .strftime("%Y/%b/%-d/").downcase + id + '/index.xml'
45
65
 
46
66
  url = "%s%s/%s" % [url_base, topic, fileid]
67
+
47
68
  kvx = Kvx.new url
48
69
 
49
- add_notice(kvx.body.clone.merge(topic: topic), id)
70
+ add_notice(kvx.body.clone.merge(topic: topic), id, topic)
50
71
 
51
72
  end
52
73
 
53
- def add_notice(h, id)
74
+ def add_notice(h, id, topic)
54
75
 
55
- timeline_dir = File.join(@filepath, @timeline)
56
-
57
- notices = DailyNotices.new timeline_dir,
58
- @options.merge(identifier: @timeline, title: @timeline.capitalize)
59
-
60
- return_status = notices.add(item: h, id: id)
76
+ return_status = @notices.add(item: h, id: id)
61
77
 
62
78
  return if return_status == :duplicate
63
-
64
- dbfilename = File.join(timeline_dir, h[:topic] + '.db')
65
-
66
- if File.exists? dbfilename then
67
-
68
- db = SQLite3::Database.new dbfilename
69
-
70
- else
71
-
72
- db = SQLite3::Database.new dbfilename
73
-
74
- db.execute <<-SQL
75
- create table notices (
76
- ID INT PRIMARY KEY NOT NULL,
77
- MESSAGE TEXT
78
- );
79
- SQL
79
+
80
+ record = {
81
+ id: id,
82
+ date: Time.at(id.to_i).to_s,
83
+ topic: topic,
84
+ title: h[:title],
85
+ description: h[:description],
86
+ link: h[:link]
87
+ }
80
88
 
81
- end
82
-
83
- db.execute("INSERT INTO notices (id, message)
84
- VALUES (?, ?)", [id, msg=h[:description]])
85
- sleep 1.5
89
+ @rxnotices.create record
86
90
 
87
91
  end
88
92
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mns_timeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  YBz+URMHtVq6O+d7EkE/k4kCrvXbft0ECyMz6y5LS2066ci943uRhmBABvzPeO1K
32
32
  tBQ+W56kQhJC1g==
33
33
  -----END CERTIFICATE-----
34
- date: 2017-05-01 00:00:00.000000000 Z
34
+ date: 2017-07-04 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sps-sub
@@ -42,7 +42,7 @@ dependencies:
42
42
  version: '0.3'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 0.3.4
45
+ version: 0.3.5
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,47 +52,47 @@ dependencies:
52
52
  version: '0.3'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 0.3.4
55
+ version: 0.3.5
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: daily_notices
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.5'
62
+ version: '0.6'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 0.5.6
65
+ version: 0.6.2
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: '0.5'
72
+ version: '0.6'
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.5.6
75
+ version: 0.6.2
76
76
  - !ruby/object:Gem::Dependency
77
- name: sqlite3
77
+ name: recordx_sqlite
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.3'
82
+ version: '0.2'
83
83
  - - ">="
84
84
  - !ruby/object:Gem::Version
85
- version: 1.3.13
85
+ version: 0.2.7
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: '1.3'
92
+ version: '0.2'
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: 1.3.13
95
+ version: 0.2.7
96
96
  description:
97
97
  email: james@jamesrobertson.eu
98
98
  executables: []
metadata.gz.sig CHANGED
Binary file