mns_subscriber 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/mns_subscriber.rb +42 -5
- metadata +8 -8
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba7ffb83b3ae3627fe99ba11f1d3c6ca5b20beadf702ba658bf87a596a877dbb
|
4
|
+
data.tar.gz: 5070727cf3f6443a3653edfa9cee25a81fbdb7a91a9253a72a42a8a7fa122ecb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8773c8013caf65d54f7bb8a75543e5826f47a46c92235f4ea9766ea095f8cdcca4ae256ea9c65e8ef112f597eb8e5c46fb46d25b7a14d016d71630d6216b4fe2
|
7
|
+
data.tar.gz: 448558190b8e5082a8226cdf617b7c572a9125c6f57e2d5e9566f31bcc20b06e536ffeb5d1f334275f21cc0b3a1410ceaa1b143f3e26c589e383f3bffe45abf3
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/mns_subscriber.rb
CHANGED
@@ -12,7 +12,7 @@ require 'recordx_sqlite'
|
|
12
12
|
class MNSSubscriber < SPSSub
|
13
13
|
|
14
14
|
def initialize(host: 'sps', port: 59000, dir: '.', options: {},
|
15
|
-
timeline: nil, log: nil)
|
15
|
+
timeline: nil, log: nil, hashtag_url: nil)
|
16
16
|
|
17
17
|
@log = log
|
18
18
|
log.info 'mns_subscriber/initialize: active' if log
|
@@ -31,6 +31,21 @@ class MNSSubscriber < SPSSub
|
|
31
31
|
@filepath, @timeline = dir, timeline
|
32
32
|
|
33
33
|
@index = nil
|
34
|
+
@hashtags = nil
|
35
|
+
|
36
|
+
|
37
|
+
if hashtag_url then
|
38
|
+
|
39
|
+
@hashtag_url = @options[:url_base] + hashtag_url.sub(/^\//,'')
|
40
|
+
|
41
|
+
hashtag_path = File.join(dir, 'hashtag')
|
42
|
+
tagdb = File.join(hashtag_path, 'index.db')
|
43
|
+
FileUtils.mkdir_p File.dirname(tagdb)
|
44
|
+
|
45
|
+
h = {hashtags: {id: '', tag: '', topic: '', noticeid: ''}}
|
46
|
+
@hashtags = RecordxSqlite.new(tagdb, table: h )
|
47
|
+
|
48
|
+
end
|
34
49
|
|
35
50
|
end
|
36
51
|
|
@@ -79,14 +94,15 @@ class MNSSubscriber < SPSSub
|
|
79
94
|
|
80
95
|
end
|
81
96
|
|
82
|
-
def add_notice(topic, raw_msg, raw_id=
|
97
|
+
def add_notice(topic, raw_msg, raw_id=nil)
|
83
98
|
|
84
99
|
@log.info 'mns_subscriber/add_notice: active' if @log
|
85
100
|
topic_dir = File.join(@filepath, topic)
|
86
101
|
notices = DailyNotices.new topic_dir, @options.merge(identifier: topic,
|
87
102
|
title: topic.capitalize + ' daily notices', log: @log)
|
88
103
|
|
89
|
-
|
104
|
+
t = Time.now
|
105
|
+
id = (raw_id || t.to_i.to_s + t.strftime("%2N")).to_i
|
90
106
|
|
91
107
|
# strip out any JSON from the end of the message
|
92
108
|
msg, raw_json = raw_msg.split(/(?=\{.*)/)
|
@@ -99,6 +115,27 @@ class MNSSubscriber < SPSSub
|
|
99
115
|
mtlite.to_s
|
100
116
|
end
|
101
117
|
|
118
|
+
if @hashtag_url then
|
119
|
+
|
120
|
+
tags = desc.scan(/(?<=#)\w+/)
|
121
|
+
|
122
|
+
desc.gsub!(/#\w+/) do |x|
|
123
|
+
"<a href='%s%s'>%s</a>" % [@hashtag_url, x[1..-1], x]
|
124
|
+
end
|
125
|
+
|
126
|
+
# add the record to the database
|
127
|
+
tags.each do |tag|
|
128
|
+
|
129
|
+
t = Time.now
|
130
|
+
id2 = (t.to_i.to_s + t.strftime("%2N")).to_i
|
131
|
+
h = {id: id2, tag: tag, topic: topic, noticeid: id}
|
132
|
+
|
133
|
+
@hashtags.create h if @hashtags
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
end
|
138
|
+
|
102
139
|
title = mtlite.to_s.lines.first.chomp
|
103
140
|
title = title[0..136] + ' ...' if title.length > 140
|
104
141
|
|
@@ -113,10 +150,10 @@ class MNSSubscriber < SPSSub
|
|
113
150
|
return if return_status == :duplicate
|
114
151
|
|
115
152
|
rxnotices = RecordxSqlite.new(File.join(topic_dir, 'notices.db'),
|
116
|
-
table: {notices: {id: 0, message: ''}})
|
153
|
+
table: {notices: {id: 0, description: '', message: ''}})
|
117
154
|
|
118
155
|
begin
|
119
|
-
rxnotices.create id: id.to_s, message: msg
|
156
|
+
rxnotices.create id: id.to_s, description: desc, message: msg
|
120
157
|
rescue
|
121
158
|
puts 'warning: rxnotices.create -> ' + ($!).inspect
|
122
159
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mns_subscriber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
yOAycOYzp7fxmPl3/HV5D0YOJwuy1XslA50GQJwq12A5vMyUGUCHuxH/zKZcM/zr
|
36
36
|
0QZaKiVqq5ZeGvni0eQSavhQ
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2021-02-
|
38
|
+
date: 2021-02-27 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: mtlite
|
@@ -101,22 +101,22 @@ dependencies:
|
|
101
101
|
name: recordx_sqlite
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
|
-
- - ">="
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: 0.3.0
|
107
104
|
- - "~>"
|
108
105
|
- !ruby/object:Gem::Version
|
109
106
|
version: '0.3'
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.3.1
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: 0.3.0
|
117
114
|
- - "~>"
|
118
115
|
- !ruby/object:Gem::Version
|
119
116
|
version: '0.3'
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: 0.3.1
|
120
120
|
description:
|
121
121
|
email: james@jamesrobertson.eu
|
122
122
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|