mymedia 0.5.0 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/mymedia.rb +71 -13
  4. data.tar.gz.sig +0 -0
  5. metadata +28 -49
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 879bb9d7cf2f55bd38bb6d2e005d824fc0b63760931424c0ef16599c8e405581
4
- data.tar.gz: 77ccdb6252d36a6bf313e491169a2df56b5325284a809060894bb6e30eadfaec
3
+ metadata.gz: 1a714cd992ef14c2e9ee41a3e29ce25bf90b2d8378636903108993dcb2dd7d21
4
+ data.tar.gz: f9f81cd5d692cb58cd0b7d82cb9d535f19cbfff5b8c33077d8bef48f50a570f3
5
5
  SHA512:
6
- metadata.gz: cf2b2df683d4055893ce649e8c3ebc30eee11fbe432b8c9fd7292ee3ca4be66843304e63a79e68a67e3dc2b2cb6e43653de7da371da695274aae2030bd5701c6
7
- data.tar.gz: 56cb9c6a53dbd585d1ade2ae2a1afff3934823b3bc7bcd9fad89cbb0cb205316281dad53220a3652559d1f36e84ef218312bc4bc40a6a95e8f497979f43fa580
6
+ metadata.gz: b6acc8fcf2c6e792f361921e9769879d8ff871f429f36b76276c3a413d60f258b219e66ffa96754cb6d86d4e41268b58632596f274630fd985379887f0d6d72b
7
+ data.tar.gz: 7a6d6fb05c2600876bb44bf3bde49104f7bb48b573f19e69ea4d2a30d2e5e7245f9995d65a41af613290f688b1855fbb42cd7307c5dada51f0df96b49ad3f959
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/mymedia.rb CHANGED
@@ -10,6 +10,8 @@ require 'dir-to-xml'
10
10
  require 'dataisland'
11
11
  require 'increment'
12
12
  require 'simple-config'
13
+ require 'rxfileio'
14
+ require 'wordsdotdat'
13
15
 
14
16
 
15
17
  module MyMedia
@@ -19,7 +21,7 @@ module MyMedia
19
21
 
20
22
 
21
23
  class Publisher
22
- include RXFHelperModule
24
+ include RXFReadWriteModule
23
25
 
24
26
  def initialize(opts={})
25
27
  @index_page = true
@@ -74,7 +76,7 @@ module MyMedia
74
76
  dynarex = if FileX.exists? dynarex_filepath then
75
77
  DxLite.new(dynarex_filepath)
76
78
  else
77
- DxLite.new(@schema)
79
+ DxLite.new(@schema, order: 'descending')
78
80
  end
79
81
 
80
82
  dynarex.create record
@@ -92,16 +94,38 @@ module MyMedia
92
94
  end
93
95
 
94
96
  module IndexReader
95
- include RXFHelperModule
97
+ include RXFRead
96
98
 
97
- def browse()
99
+ def browse(startswith=nil)
98
100
 
99
101
  json_filepath = "%s/%s/dynarex.json" % [@home, @public_type]
100
102
 
101
103
  if FileX.exists? json_filepath then
102
104
 
103
105
  dx = DxLite.new(json_filepath)
104
- return dx.all
106
+
107
+ if startswith then
108
+
109
+ @stopwords = WordsDotDat.stopwords
110
+ q = startswith
111
+
112
+ r = dx.all.select do |x|
113
+
114
+ found = x.title.scan(/\b\w+/).select do |raw_word|
115
+
116
+ word = raw_word.downcase
117
+ word[0..(q.length-1)] == q and not @stopwords.include? word
118
+
119
+ end
120
+
121
+ found.any?
122
+ end
123
+
124
+ else
125
+
126
+ return dx.all
127
+
128
+ end
105
129
 
106
130
  end
107
131
 
@@ -125,7 +149,7 @@ module MyMedia
125
149
  end
126
150
 
127
151
  class Base < Publisher
128
- include RXFHelperModule
152
+ include RXFileIOModule
129
153
 
130
154
  attr_reader :to_s
131
155
 
@@ -141,6 +165,7 @@ module MyMedia
141
165
  c = SimpleConfig.new(config).to_h
142
166
 
143
167
  @home = c[:home]
168
+ puts '@home: ' + @home.inspect if @debug
144
169
  @media_src = "%s/media/%s" % [@home, media_type]
145
170
  @website = c[:website]
146
171
 
@@ -149,6 +174,7 @@ module MyMedia
149
174
  @domain = @website[/[^\.]+\.[^\.]+$/]
150
175
 
151
176
  @sps = c[:sps]
177
+ @omit_html_ext = c[:omit_html_ext]
152
178
 
153
179
  @log = log
154
180
 
@@ -184,27 +210,29 @@ module MyMedia
184
210
  puts '@media_src: ' + @media_src.inspect if @debug
185
211
 
186
212
  # fetch the most recent file
187
- r = FileX.ru_r @media_src
213
+ filename = FileX.ru_r @media_src
188
214
 
189
- if r then
215
+ if filename then
190
216
 
191
- puts 'r: ' + r.inspect if @debug
217
+ puts 'filename: ' + filename.inspect if @debug
192
218
 
193
- filename = r.sub(/^#{@media_src}/,'')
194
219
  copy_publish( filename ,raw_msg, &blk)
195
220
 
196
221
  end
197
222
 
198
223
  end
199
224
 
200
- def basename(s1, s2)
225
+ def basename(raw_s1, raw_s2)
226
+
227
+ s1 = raw_s1.sub(/dfs:\/\/[^\/]+/,'')
228
+ s2 = raw_s2.sub(/dfs:\/\/[^\/]+/,'')
201
229
 
202
230
  (s2.split('/') - s1.split('/')).join('/')
203
231
 
204
232
  end
205
233
 
206
234
  def copy_publish(filename, raw_msg='', &blk)
207
- file_publish(File.join(@media_src,filename), raw_msg)
235
+ file_publish(filename, raw_msg)
208
236
  end
209
237
 
210
238
 
@@ -222,7 +250,7 @@ module MyMedia
222
250
 
223
251
  public_path2 = "%s/%s/%shrs%s%s" % [@public_type, \
224
252
  Time.now.strftime('%Y/%b/%d').downcase, Time.now.strftime('%H%M'),
225
- Time.now.strftime('%S%2N'), @target_ext]
253
+ Time.now.strftime('%S%2N'), @target_ext]
226
254
 
227
255
  raw_destination = "%s/%s/%s" % [@home, 'r', public_path]
228
256
 
@@ -235,6 +263,11 @@ module MyMedia
235
263
  FileX.mkdir_p File.dirname(raw_destination)
236
264
  FileX.mkdir_p File.dirname(destination)
237
265
 
266
+ if @debug then
267
+ puts "file_publish() #50 mkdir_p %s" % [File.dirname(raw_destination)]
268
+ puts "file_publish() #70 mkdir_p %s" % [File.dirname(destination)]
269
+ end
270
+
238
271
  raw_msg = raw_msg.join ' ' if raw_msg.is_a? Array
239
272
 
240
273
  raw_msg = src_path[/([^\/]+)\.\w+$/,1] + ' ' + raw_msg if raw_msg[/^#/]
@@ -244,8 +277,21 @@ module MyMedia
244
277
  raw_msg, target_url = yield(destination, raw_destination)
245
278
  static_url = target_url
246
279
  else
280
+
281
+ if @debug then
282
+ puts "file_publish() #80 cp %s to %s" % [src_path, destination]
283
+ puts "file_publish() #90 cp %s to %s" % [src_path, destination]
284
+ end
285
+
247
286
  FileX.cp src_path, destination
248
287
  FileX.cp src_path, raw_destination
288
+
289
+ if @debug then
290
+ puts "file_publish() #100 copied %s to %s" % [src_path, destination]
291
+ puts "file_publish() #200 copied %s to %s" % \
292
+ [src_path, raw_destination]
293
+ end
294
+
249
295
  end
250
296
 
251
297
  raw_msg = raw_msg.join if raw_msg.is_a? Array
@@ -266,6 +312,12 @@ module MyMedia
266
312
  static_destination = "%s/%s" % [@home, static_path]
267
313
 
268
314
  #FileUtils.mkdir_p File.dirname(static_destination)
315
+
316
+ if @debug then
317
+ puts "file_publish() #300 copy %s to %s" % [destination,
318
+ static_destination]
319
+ end
320
+
269
321
  FileX.cp destination, static_destination
270
322
 
271
323
  #jr010817 FileUtils.cp raw_destination, raw_static_destination
@@ -276,7 +328,13 @@ module MyMedia
276
328
  xmlfilepath = destination.sub('.html','.xml')
277
329
 
278
330
  if FileX.exists?(xmlfilepath) then
331
+
279
332
  FileX.cp xmlfilepath, static_destination.sub('.html','.xml')
333
+
334
+ if @debug then
335
+ puts "file_publish() #400 copied %s to %s" % [xmlfilepath, static_destination.sub('.html','.xml')]
336
+ end
337
+
280
338
  end
281
339
 
282
340
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mymedia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,128 +35,108 @@ cert_chain:
35
35
  bL55NDdi8BFHkNVohRBak7aqxsw41LJKy3UTP+4TzU5vyluDJMiscK6JJFaM4JiS
36
36
  xtlAM0O5ZFe9QflatP+P8JnB
37
37
  -----END CERTIFICATE-----
38
- date: 2022-02-11 00:00:00.000000000 Z
38
+ date: 2022-04-06 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
- name: dynarex
41
+ name: dir-to-xml
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.9'
46
+ version: '1.2'
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 1.9.2
49
+ version: 1.2.2
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '1.9'
56
+ version: '1.2'
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 1.9.2
59
+ version: 1.2.2
60
60
  - !ruby/object:Gem::Dependency
61
- name: sps-pub
61
+ name: dataisland
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '0.5'
66
+ version: '0.3'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 0.5.5
69
+ version: 0.3.0
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.5'
76
+ version: '0.3'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 0.5.5
79
+ version: 0.3.0
80
80
  - !ruby/object:Gem::Dependency
81
- name: dir-to-xml
81
+ name: increment
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
- version: '1.0'
86
+ version: '0.1'
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 1.0.8
89
+ version: 0.1.4
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.0'
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: 1.0.8
100
- - !ruby/object:Gem::Dependency
101
- name: dataisland
102
- requirement: !ruby/object:Gem::Requirement
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 0.3.0
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '0.3'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
96
+ version: '0.1'
114
97
  - - ">="
115
98
  - !ruby/object:Gem::Version
116
- version: 0.3.0
117
- - - "~>"
118
- - !ruby/object:Gem::Version
119
- version: '0.3'
99
+ version: 0.1.4
120
100
  - !ruby/object:Gem::Dependency
121
- name: increment
101
+ name: simple-config
122
102
  requirement: !ruby/object:Gem::Requirement
123
103
  requirements:
124
104
  - - "~>"
125
105
  - !ruby/object:Gem::Version
126
- version: '0.1'
106
+ version: '0.7'
127
107
  - - ">="
128
108
  - !ruby/object:Gem::Version
129
- version: 0.1.4
109
+ version: 0.7.2
130
110
  type: :runtime
131
111
  prerelease: false
132
112
  version_requirements: !ruby/object:Gem::Requirement
133
113
  requirements:
134
114
  - - "~>"
135
115
  - !ruby/object:Gem::Version
136
- version: '0.1'
116
+ version: '0.7'
137
117
  - - ">="
138
118
  - !ruby/object:Gem::Version
139
- version: 0.1.4
119
+ version: 0.7.2
140
120
  - !ruby/object:Gem::Dependency
141
- name: simple-config
121
+ name: wordsdotdat
142
122
  requirement: !ruby/object:Gem::Requirement
143
123
  requirements:
144
124
  - - "~>"
145
125
  - !ruby/object:Gem::Version
146
- version: '0.7'
126
+ version: '0.2'
147
127
  - - ">="
148
128
  - !ruby/object:Gem::Version
149
- version: 0.7.2
129
+ version: 0.2.0
150
130
  type: :runtime
151
131
  prerelease: false
152
132
  version_requirements: !ruby/object:Gem::Requirement
153
133
  requirements:
154
134
  - - "~>"
155
135
  - !ruby/object:Gem::Version
156
- version: '0.7'
136
+ version: '0.2'
157
137
  - - ">="
158
138
  - !ruby/object:Gem::Version
159
- version: 0.7.2
139
+ version: 0.2.0
160
140
  description:
161
141
  email: digital.robertson@gmail.com
162
142
  executables: []
@@ -183,8 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
163
  - !ruby/object:Gem::Version
184
164
  version: '0'
185
165
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.7.10
166
+ rubygems_version: 3.2.22
188
167
  signing_key:
189
168
  specification_version: 4
190
169
  summary: Makes publishing to the web easier
metadata.gz.sig CHANGED
Binary file