mns_timeline 0.1.2 → 0.2.0

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