imagegallery2017 0.1.2 → 0.1.3

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: 29107fdce25855a5f8ce1db51c16cbe85a3e2ebc
4
- data.tar.gz: 585b92d6c8352b86a906d54c70e7309236910384
3
+ metadata.gz: 2108584d86763b92dac96ed5d2b165f708841ee1
4
+ data.tar.gz: 14f78f70f69a6e386abeb4b9cd837bf7f0a3ba1c
5
5
  SHA512:
6
- metadata.gz: dd20eca9e762dc3d524a980834bcec486ea365d3e84d6361f2531ece1de5e06101409c19e83842d3dbbff1de1d212edde1d72113287808ea754b6f4eccd79b3a
7
- data.tar.gz: a235bbbf12e296b916e52f4832d4a5e9cfb733ab93508d43b7c65bf71687f2d5446aa23505a1c026ca9fb311eabdadd2e22f9c797ff1032ac2d534f0af52e84b
6
+ metadata.gz: 2ae8ecd7704d76519c95eabf28e8a60fea097e18afee5834da4debbbd8c9ae8f584844353cfd414d84a3388d1fe70fc1164f3de5d2d2da1c526898f84ae43d85
7
+ data.tar.gz: bff5db9776767490798040abe916d0ffe19b104225fbd7b03f139071e8f260f79e660ae598dd84fdb4a5a901212da1a7817ce9425eb85eac6f48e1ecf5d50ed2
checksums.yaml.gz.sig CHANGED
Binary file
@@ -20,9 +20,10 @@ class ImageGallery2017
20
20
 
21
21
  def initialize(rsc, filepath: '.', xslfile: '../xsl/index.xslt',
22
22
  schema: 'images[title, folder]/image(original, desktop, preview, ' +
23
- 'folder, imgcount, title)', folder: nil)
23
+ 'folder, imgcount, title)', folder: nil, log: nil)
24
24
 
25
25
  @rsc, @wwwpath, @xslfile = [rsc, File.join(filepath, 'www'), xslfile]
26
+ @log = log
26
27
 
27
28
  a = [@wwwpath, 'images']
28
29
  a << folder if folder
@@ -45,11 +46,14 @@ class ImageGallery2017
45
46
  self.save dxfilepath
46
47
 
47
48
  end
49
+ @log.info 'Gallery/initialize: self.summary' + self.summary.inspect if @log
48
50
 
49
51
  end
50
52
 
51
53
  def add_image(uploaded=nil)
52
54
 
55
+ @log.info 'Gallery/add_image: active' if @log
56
+
53
57
  filename = uploaded[:filename]
54
58
  file = File.join(@imagespath, filename)
55
59
  File.write file, uploaded[:tempfile].read
@@ -62,13 +66,23 @@ class ImageGallery2017
62
66
 
63
67
  self.create(h)
64
68
  self.save
65
-
69
+ @log.info 'Gallery/add_image: saved' if @log
70
+
71
+ return preview_file
66
72
  end
67
73
 
68
74
  def render()
69
75
 
76
+ @log.info 'Gallery/render: active' if @log
77
+ @log.info 'Gallery/render: self.to_xml' + self.to_xml if @log
78
+
70
79
  doc = Nokogiri::XML(self.to_xml)
71
- xslt = Nokogiri::XSLT(File.read(File.join(@wwwpath, @xslt)))
80
+
81
+ if @log then
82
+ @log.info "Gallery/render: self.summary: %s" % [self.summary.inspect]
83
+ end
84
+
85
+ xslt = Nokogiri::XSLT(File.read(File.join(@imagespath, self.summary[:xslt])))
72
86
  xslt.transform(doc).to_s
73
87
 
74
88
  end
@@ -77,16 +91,18 @@ class ImageGallery2017
77
91
 
78
92
  class IndexGallery < Gallery
79
93
 
80
- def initialize(rsc, filepath: '.')
94
+ def initialize(rsc, filepath: '.', log: nil)
81
95
 
82
96
  FileUtils.mkdir_p File.join(filepath, 'www','images')
83
97
  FileUtils.mkdir_p File.join(filepath, 'www','xsl')
84
- super(rsc, filepath: filepath)
98
+ super(rsc, filepath: filepath, log: log)
85
99
 
86
100
  end
87
101
 
88
102
  def render()
89
103
 
104
+ @log.info 'IndexGallery/render: active' if @log
105
+
90
106
  File.write File.join(@wwwpath, 'index.html'), super()
91
107
 
92
108
  end
@@ -95,19 +111,24 @@ class ImageGallery2017
95
111
 
96
112
  attr_reader :index, :gallery
97
113
 
98
- def initialize(rsc, basepath='.')
114
+ def initialize(rsc, basepath='.', log: nil)
99
115
 
100
- @basepath, @rsc = basepath, rsc
101
- @index = IndexGallery.new rsc, filepath: @basepath
116
+ log.info 'ImageGallery/initialize: active' if log
117
+ @basepath = basepath
118
+ @index = IndexGallery.new rsc, filepath: @basepath, log: log
102
119
  @gallery = {}
120
+ @default_folder = '../svg/folder.svg'
121
+ @log = log
103
122
 
104
123
  # load all the folders
105
124
 
125
+ log.info 'ImageGallery/initialize: loading galleries' if log
106
126
  @index.all.each do |x|
107
127
 
108
128
  if x.folder.length > 0 then
109
- @gallery[x.folder] = Gallery.new @rsc,
110
- filepath: basepath, folder: x.folder
129
+ @gallery[x.folder] = Gallery.new rsc,
130
+ filepath: basepath, folder: x.folder, log: log
131
+ log.info 'ImageGallery/initialize: loaded ' + x.folder if log
111
132
  end
112
133
 
113
134
  end
@@ -116,7 +137,50 @@ class ImageGallery2017
116
137
 
117
138
  def add_image(upload_obj, folder=nil)
118
139
 
119
- (folder ? @gallery[folder] : @index).add_image upload_obj
140
+ @log.info 'ImageGallery/add_image: active' if @log
141
+
142
+ if folder then
143
+
144
+ g = @gallery[folder]
145
+ preview_file = g.add_image upload_obj
146
+
147
+ rx = @index.find_by_folder folder
148
+ rx.preview = preview_file
149
+ rx.imgcount = g.all.length
150
+
151
+ @index.save
152
+
153
+ else
154
+ @index.add_image upload_obj
155
+ end
156
+
157
+ @index.render
158
+
159
+ end
160
+
161
+ def browse(folder)
162
+ (folder ? @gallery[folder] : @index).render
163
+ end
164
+
165
+ def delete_image(id, folder=nil)
166
+
167
+ if folder then
168
+
169
+ g = @gallery[folder]
170
+ g.delete_image id
171
+ preview_file = g.all.any? ? g.all.first.preview : @default_folder
172
+
173
+ rx = @index.find_by_folder folder
174
+ rx.preview = preview_file
175
+ rx.imgcount = g.all.length
176
+
177
+ @index.save
178
+
179
+ else
180
+ @index.delete_image id
181
+ end
182
+
183
+ @iondex.render
120
184
 
121
185
  end
122
186
 
@@ -131,8 +195,18 @@ class ImageGallery2017
131
195
  fg.save
132
196
 
133
197
  @gallery[folder] = fg
134
- @index.create preview: '../svg/folder.svg', folder: folder, title: title
198
+ @index.create preview: @default_folder, folder: folder, title: title
135
199
  @index.save
136
200
 
137
201
  end
202
+
203
+ def delete_folder(folder)
204
+
205
+ @gallery.delete folder
206
+
207
+ rx = @index.find_by_folder folder
208
+ rx.delete
209
+ @index.save
210
+
211
+ end
138
212
  end
data.tar.gz.sig CHANGED
@@ -1,3 +1 @@
1
- cl���h:���30�2��gF���$��+��2��7���M���j�/���ƪ�'D,qjvO�&�L�Mo���{p::O�$"R[�$�b�S�!� Ū۝�9��~غ����4
2
- �{�^�Sڇ�g'���6$��vÞ��_G�踰�
3
- l��U���h�N�� =�v�W��V�Iĺ ;l����Y6b$wP;?���,� ����v�2�r����_-)�X�[q
1
+ ���>�+����`b�snF�{w���L��'*a݄�=���8(���*�<u�A�&Q����-�q���'߿�p��6?�p�L*T4 yxX<�lM����s/[M)�iUx��9������Ȧ��h�;�1�|8�3�h������"�%Ô�΅��6b�����,� �@d�
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagegallery2017
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  VTkGIYZRz9NszbK5QM45fZIG1TtUO/QILU1lyb56RusdsPUAQy5qdHcWSkqbU1i4
32
32
  pVP5LTt/M0l+og==
33
33
  -----END CERTIFICATE-----
34
- date: 2017-11-28 00:00:00.000000000 Z
34
+ date: 2017-11-29 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dynarex
metadata.gz.sig CHANGED
Binary file