liveblog-indexer 0.2.3 → 0.2.4
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/lib/liveblog-indexer.rb +45 -1
- data.tar.gz.sig +0 -0
- metadata +19 -19
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a92d4df66d166954f93ac560329fc5f6cb735ef0
|
4
|
+
data.tar.gz: 50c584810fb0fd5c40b1c0cfd6dd64525cc29921
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 837354c1938492d6148f42ab1e7cb0499b1ab59129c71145755fc118adff10ccfebb609b66644fa72e2d23cac02fa85e140016d70ceea20504a970eb844e8a7a
|
7
|
+
data.tar.gz: 50fdb5eebb4938eb5c87da949403ff79a0bddc9f0911dd9ee1d4d8c26b3527f5802094cd0221e6e6e62b6d41c931c1e563be943f0836c77d0f7714cc686b36a4
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/liveblog-indexer.rb
CHANGED
@@ -78,7 +78,11 @@ class LiveBlogIndexer
|
|
78
78
|
save @wordindex_filepath
|
79
79
|
File.write File.join(@filepath, @urls_index_filepath), @url_index.to_json
|
80
80
|
|
81
|
-
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def inspect()
|
84
|
+
"#<LiveBlogIndexer:#{self.object_id}>"
|
85
|
+
end
|
82
86
|
|
83
87
|
def save(filename='wordindex.json')
|
84
88
|
|
@@ -87,6 +91,46 @@ class LiveBlogIndexer
|
|
87
91
|
|
88
92
|
end
|
89
93
|
|
94
|
+
# search the word_index file with a keyword e.g. hdmi
|
95
|
+
# results are sorted by exact match with a hashtag, exact keyword match,
|
96
|
+
# followed by words which contain the keyword e.g. micro-hdmi
|
97
|
+
#
|
98
|
+
# links for each result are sorted by date
|
99
|
+
#
|
100
|
+
def search(keyword)
|
101
|
+
|
102
|
+
def add_links(a)
|
103
|
+
|
104
|
+
a.sort_by do |uri|
|
105
|
+
|
106
|
+
string = uri[/^\/liveblog\/(\d{4}\/\w{3}\/\d+)/,1].gsub('/','')
|
107
|
+
Date.strptime(string, "%Y%b%d")
|
108
|
+
|
109
|
+
end.reverse
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
h = @master
|
114
|
+
grepped = h.keys.grep /#{keyword}/i
|
115
|
+
# e.g. => ["hdmi=safe", "hdmi", "micro-hdmi", "#hdmi"]
|
116
|
+
|
117
|
+
# sort results by importance
|
118
|
+
r = []
|
119
|
+
|
120
|
+
# hashtag should be first
|
121
|
+
key = grepped.delete '#' + keyword
|
122
|
+
r.concat add_links(h[key].keys) if key
|
123
|
+
|
124
|
+
# the word on its own
|
125
|
+
key = grepped.delete keyword
|
126
|
+
r.concat add_links(h[key].keys) if key
|
127
|
+
|
128
|
+
r.concat grepped.map {|x| add_links(h[x].keys)}
|
129
|
+
|
130
|
+
return r.uniq
|
131
|
+
|
132
|
+
end
|
133
|
+
|
90
134
|
private
|
91
135
|
|
92
136
|
def index_file(location)
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: liveblog-indexer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -12,26 +12,26 @@ cert_chain:
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
|
14
14
|
YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
|
15
|
-
|
15
|
+
8ixkARkWAmV1MB4XDTE3MDEyODE1MDc1NVoXDTE4MDEyODE1MDc1NVowSDESMBAG
|
16
16
|
A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
|
17
17
|
EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
ggEBAJ0Vk53YC+Fa1U05NC3EgMLSPcT6KwxO2N7hY23L6y5wZiPXuQ5AQq3PDaPW
|
19
|
+
VkoZngnKzeSMeuFCK/mbGdW77Ll+cuM9vZ8xtlk5eKyybIMznFOt0mWX/wIFzV1V
|
20
|
+
XD+TTMC6jR5hYQib0zqev9hAcHqXEVoPhhR6avEGDrFheaopqObyCJ4rztFyYz/Q
|
21
|
+
tgHsQE9g6D9SwLeUc5x5XecQT9T13NpUuGEjcPp07XyytHWhgbeeDFIWz+xCZ7rK
|
22
|
+
9s/8kF7QmNgiQ0D8Ar91RiKcnW8hP+QtJJf94+e42doSDpdc3HRVc7b6nu8ySf6I
|
23
|
+
gHpSHJnGrVy207f0xETgHEiT2BsCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
|
24
|
+
DwQEAwIEsDAdBgNVHQ4EFgQUXOeNAxMEMjYVvQTTKraToom4zFMwJgYDVR0RBB8w
|
25
25
|
HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
26
|
+
c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAldEnB3++
|
27
|
+
mNVko+TlHWAvP4qMvUa8MKGdNlbT/feeIPhNlHwcEW8opfKddOThEJcSaaxzNT9G
|
28
|
+
R7rh6J7cJXJNP0fMkN5weeDtp5W8KiYOFe/8o0YSsZIK2si26eERfETJvyAtrqsY
|
29
|
+
G29fPrEa+npsJpIZwgBUlsUHqyKeVHlBV5gX4IOsSRntocf/79KSdQbkf5WsPLvI
|
30
|
+
Vt7jbph3Nm21B5W85Xuo6F7wzo5dWRBertqz+CeTrWZXPtEL4EumEcqKZtjcl7L5
|
31
|
+
tobBQiI6ycwSA8Q7pjIepwhlVwJtTQO6KUI/GSDjtZ/EPgdLhApM2DtZpmNUuoUZ
|
32
|
+
aFRT5hgDm8JiKQ==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date:
|
34
|
+
date: 2017-01-28 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: xws
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.2.3
|
76
76
|
description:
|
77
|
-
email: james@
|
77
|
+
email: james@jamesrobertson.eu
|
78
78
|
executables: []
|
79
79
|
extensions: []
|
80
80
|
extra_rdoc_files: []
|
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
100
|
version: '0'
|
101
101
|
requirements: []
|
102
102
|
rubyforge_project:
|
103
|
-
rubygems_version: 2.
|
103
|
+
rubygems_version: 2.6.8
|
104
104
|
signing_key:
|
105
105
|
specification_version: 4
|
106
106
|
summary: This gem is under development. Generates a Liveblog indexed file in JSON
|
metadata.gz.sig
CHANGED
Binary file
|