tdiary-contrib 3.2.2.20130518 → 3.2.2.20130614

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -3
  3. data/doc/ja/plugin/image_gps.txt +56 -17
  4. data/doc/ja/plugin/playstore.txt +31 -0
  5. data/js/socialbutton.js +8 -2
  6. data/lib/exifparser/README +6 -12
  7. data/lib/tdiary-contrib.rb +7 -6
  8. data/plugin/brow_si.rb +32 -0
  9. data/plugin/image_gps.rb +110 -56
  10. data/plugin/instagr.rb +1 -0
  11. data/plugin/playstore.rb +161 -0
  12. data/plugin/tweet_quote.rb +102 -48
  13. data/plugin/twitter_badge.rb +1 -1
  14. data/util/estraier-search/estraier-register.rb +2 -1
  15. data/util/estraier-search/estraier-search.rb +2 -1
  16. data/util/image-gallery/misc/plugin/recent_image.rb +1 -1
  17. metadata +7 -27
  18. data/doc/ja/plugin/image_detail.txt +0 -69
  19. data/doc/ja/plugin/image_gps2.txt +0 -41
  20. data/lib/exifparser/BUGS +0 -1
  21. data/lib/exifparser/ChangeLog +0 -169
  22. data/lib/exifparser/install.rb +0 -1015
  23. data/lib/exifparser/lib/exifparser/makernote/canon.rb +0 -502
  24. data/lib/exifparser/lib/exifparser/makernote/fujifilm.rb +0 -415
  25. data/lib/exifparser/lib/exifparser/makernote/minolta.rb +0 -84
  26. data/lib/exifparser/lib/exifparser/makernote/mk_nikonflensname.rb +0 -39
  27. data/lib/exifparser/lib/exifparser/makernote/nikon.rb +0 -267
  28. data/lib/exifparser/lib/exifparser/makernote/nikon2.rb +0 -581
  29. data/lib/exifparser/lib/exifparser/makernote/nikonflensname.rb +0 -438
  30. data/lib/exifparser/lib/exifparser/makernote/olympus.rb +0 -225
  31. data/lib/exifparser/lib/exifparser/makernote/prove.rb +0 -84
  32. data/lib/exifparser/lib/exifparser/makernote/sigma.rb +0 -237
  33. data/lib/exifparser/lib/exifparser/pre-setup.rb +0 -1
  34. data/lib/exifparser/lib/exifparser/scan.rb +0 -278
  35. data/lib/exifparser/lib/exifparser/tag.rb +0 -2298
  36. data/lib/exifparser/lib/exifparser/thumbnail.rb +0 -76
  37. data/lib/exifparser/lib/exifparser/utils.rb +0 -88
  38. data/lib/exifparser/lib/exifparser.rb +0 -265
  39. data/lib/exifparser/sample/exifview.rb +0 -279
  40. data/plugin/image_detail.rb +0 -143
@@ -1,502 +0,0 @@
1
- #
2
- # exifparser/makernote/nikon.rb -
3
- #
4
- # Copyright (C) 2002 Ryuichi Tamura (r-tam@fsinet.or.jp)
5
- #
6
- # $Revision: 1.1.1.1 $
7
- # $Date: 2002/12/16 07:59:00 $
8
- #
9
- require 'exifparser/tag'
10
- require 'exifparser/utils'
11
-
12
- module Exif
13
-
14
- module Tag
15
-
16
- module MakerNote
17
-
18
- #
19
- # 0x0000 - Unknown
20
- #
21
-
22
- #
23
- # 0x0001 - Tag0x0001
24
- #
25
- class Tag0x0001 < Base
26
-
27
- def processData
28
- @formatted = []
29
- partition_data(@count) do |part|
30
- @formatted.push _formatData(part)
31
- end
32
- end
33
-
34
- def value
35
- numTags = @formatted[0] / 2
36
- ret = {}
37
-
38
- return ret if numTags < 2
39
- #
40
- # offset 1 : Macro mode
41
- #
42
- ret["Macro mode"] =
43
- case @formatted[1]
44
- when 1
45
- "Macro"
46
- when 2
47
- "Normal"
48
- else
49
- "Unknown"
50
- end
51
-
52
- return ret if numTags < 3
53
- #
54
- # offset 2 : if nonzero, length of self-timer in 10ths of a second.
55
- #
56
- selftimer_length = @formatted[2]
57
-
58
- return ret if numTags < 5
59
- #
60
- # offset 4 : Flash mode
61
- #
62
- ret["Flash mode"] =
63
- case @formatted[4]
64
- when 0
65
- "flash not fired"
66
- when 1
67
- "auto"
68
- when 2
69
- "on"
70
- when 3
71
- "red-eye reduction"
72
- when 4
73
- "slow synchro"
74
- when 5
75
- "auto + redeye reduction"
76
- when 6
77
- "on + redeye reduction"
78
- when 16
79
- "external flash"
80
- else
81
- "unknown"
82
- end
83
-
84
- return ret if numTags < 6
85
- #
86
- # offset 5: Contiuous drive mode
87
- #
88
- ret["Continuous drive mode"] =
89
- case @formatted[5]
90
- when 0
91
- if selftimer_length != 0
92
- "Timer = #{selftimer_length/10.0}sec."
93
- else
94
- "Single"
95
- end
96
- when 1
97
- "Continuous"
98
- end
99
-
100
- return ret if numTags < 8
101
- #
102
- # offset 7: Focus Mode
103
- #
104
- ret["Focus Mode"] =
105
- case @formatted[7]
106
- when 0
107
- "One-Shot"
108
- when 1
109
- "AI Servo"
110
- when 2
111
- "AI Focus"
112
- when 3
113
- "MF"
114
- when 4
115
- "Single"
116
- when 5
117
- "Continuous"
118
- when 6
119
- "MF"
120
- else
121
- "Unknown"
122
- end
123
-
124
- return ret if numTags < 11
125
- #
126
- # offset 10: Image size
127
- #
128
- ret["Image Size"] =
129
- case @formatted[10]
130
- when 0
131
- "Large"
132
- when 1
133
- "Medium"
134
- when
135
- "Small"
136
- else
137
- "Unknown"
138
- end
139
-
140
- return ret if numTags < 12
141
- #
142
- # offset 11: "Easy shooting" mode
143
- #
144
- ret["Easy shooting mode"] =
145
- case @formatted[11]
146
- when 0
147
- "Full auto"
148
- when 1
149
- "Manual"
150
- when 2
151
- "Landscape"
152
- when 3
153
- "Fast Shutter"
154
- when 4
155
- "Slow Shutter"
156
- when 5
157
- "Night"
158
- when 6
159
- "B&W"
160
- when 7
161
- "Sepia"
162
- when 8
163
- "Portrait"
164
- when 9
165
- "Sports"
166
- when 10
167
- "Macro / Close-Up"
168
- when 11
169
- "Pan Focus"
170
- else
171
- "Unknown"
172
- end
173
-
174
- return ret if numTags < 14
175
- #
176
- # offset 13: Contrast
177
- #
178
- ret["Contrast"] =
179
- case @formatted[13]
180
- when 0xffff
181
- "Low"
182
- when 0x0000
183
- "Normal"
184
- when 0x0001
185
- "High"
186
- else
187
- "Unknown"
188
- end
189
-
190
- return ret if numTags < 15
191
- #
192
- # offset 14: Saturation
193
- #
194
- ret["Saturation"] =
195
- case @formatted[14]
196
- when 0xffff
197
- "Low"
198
- when 0x0000
199
- "Normal"
200
- when 0x0001
201
- "High"
202
- else
203
- "Unknown"
204
- end
205
-
206
- return ret if numTags < 16
207
- #
208
- # offset 15: Contrast
209
- #
210
- ret["Sharpness"] =
211
- case @formatted[15]
212
- when 0xffff
213
- "Low"
214
- when 0x0000
215
- "Normal"
216
- when 0x0001
217
- "High"
218
- else
219
- "Unknown"
220
- end
221
-
222
- return ret if numTags < 17
223
- #
224
- # offset 16: ISO
225
- #
226
- ret["ISO"] =
227
- case @formatted[16]
228
- when 0
229
- "ISOSpeedRatings"
230
- when 15
231
- "Auto"
232
- when 16
233
- 50
234
- when 17
235
- 100
236
- when 18
237
- 200
238
- when 19
239
- 400
240
- else
241
- "Unknown"
242
- end
243
-
244
- return ret if numTags < 18
245
- #
246
- # offset 17: Metering mode
247
- #
248
- ret['Metering mode'] =
249
- case @formatted[17]
250
- when 3
251
- "Evaluative"
252
- when 4
253
- "Partial"
254
- when 5
255
- "Center-weighted"
256
- else
257
- "Unknown"
258
- end
259
- ret
260
- end
261
-
262
- end
263
-
264
- #
265
- # 0x0003 - Tag0x0003
266
- #
267
- class Tag0x0003 < Base
268
- end
269
-
270
- #
271
- # 0x0004 - Tag0x0004
272
- #
273
- class Tag0x0004 < Base
274
-
275
- def processData
276
- @formatted = []
277
- partition_data(@count) do |part|
278
- @formatted.push _formatData(part)
279
- end
280
- end
281
-
282
- def value
283
- numTags = @formatted[0] / 2
284
- ret = {}
285
-
286
- return hash if numTags < 8
287
- # offset 7 : white balance
288
- ret['White balance'] =
289
- case @formatted[7]
290
- when 0
291
- "Auto"
292
- when 1
293
- "Sunny"
294
- when 2
295
- "Cloudy"
296
- when 3
297
- "Tungsten"
298
- when 4
299
- "Florescent"
300
- when 5
301
- "Flash"
302
- when 6
303
- "Custom"
304
- else
305
- "Unknown"
306
- end
307
-
308
- return ret if numTags < 10
309
- # offset 9: Sequence number (if in a continuous burst)
310
- ret['Sequence number'] = @formatted[9]
311
-
312
- return ret if numTags < 15
313
- # offset 14: Auto Focus point used
314
- ret['Auto Focus point used'] = @formatted[14]
315
-
316
- return ret if numTags < 16
317
- ret['Flash bias'] =
318
- case @formatted[15]
319
- when 0xffc0
320
- "-2 EV"
321
- when 0xffcc
322
- "-1.67 EV"
323
- when 0xffd0
324
- "-1.50 EV"
325
- when 0xffd4
326
- "-1.33 EV"
327
- when 0xffe0
328
- "-1 EV"
329
- when 0xffec
330
- "-0.67 EV"
331
- when 0xfff0
332
- "-0.50 EV"
333
- when 0xfff4
334
- "-0.33 EV"
335
- when 0x0000
336
- "0 EV"
337
- when 0x000c
338
- "0.33 EV"
339
- when 0x0010
340
- "0.50 EV"
341
- when 0x0014
342
- "0.67 EV"
343
- when 0x0020
344
- "1 EV"
345
- when 0x002c
346
- "1.33 EV"
347
- when 0x0030
348
- "1.50 EV"
349
- when 0x0034
350
- "1.67 EV"
351
- when 0x0040
352
- "2 EV"
353
- else
354
- "Unknown"
355
- end
356
-
357
- return ret if numTags < 20
358
- ret['Subject Distance'] = @formatted[19]
359
-
360
- ret
361
- end
362
-
363
- end
364
-
365
- #
366
- # 0x0006 - ImageType
367
- #
368
- class ImageType < Base
369
- end
370
-
371
- #
372
- # 0x0007 - FirmwareVersion
373
- #
374
- class FirmwareVersion < Base
375
- end
376
-
377
- #
378
- # 0x0008 - ImageNumber
379
- #
380
- class ImageNumber < Base
381
- end
382
-
383
- #
384
- # 0x0009 - OwnerName
385
- #
386
- class OwnerName < Base
387
- end
388
-
389
- #
390
- # 0x000a - Unknown
391
- #
392
-
393
- #
394
- # 0x000c - CameraSerialNumber
395
- #
396
- class CameraSerialNumber < Base
397
-
398
- def to_s
399
- hi = @formatted / 0x10000
400
- low = @formatted % 0x10000
401
- "%04X%05d"%[hi, low]
402
- end
403
-
404
- end
405
-
406
- #
407
- # 0x000d - Unknown
408
- #
409
-
410
- #
411
- # 0x000f - CustomFunctions
412
- #
413
- class CustomFunctions < Base
414
-
415
- def processData
416
- @formatted = []
417
- partition_data(@count) do |part|
418
- @formatted.push _formatData(part)
419
- end
420
- end
421
-
422
- end
423
-
424
- end
425
-
426
- CanonIFDTable = {
427
- 0x0000 => Unknown,
428
- 0x0001 => MakerNote::Tag0x0001,
429
- 0x0003 => MakerNote::Tag0x0003,
430
- 0x0004 => MakerNote::Tag0x0004,
431
- 0x0006 => MakerNote::ImageType,
432
- 0x0007 => MakerNote::FirmwareVersion,
433
- 0x0008 => MakerNote::ImageNumber,
434
- 0x0009 => MakerNote::OwnerName,
435
- 0x000a => Unknown,
436
- 0x000c => MakerNote::CameraSerialNumber,
437
- 0x000d => Unknown,
438
- 0x000f => MakerNote::CustomFunctions
439
- }
440
-
441
- end
442
-
443
- class Canon
444
-
445
- def initialize(fin, tiff_origin, dataPos, byteOrder_module)
446
- @fin = fin
447
- @tiffHeader0 = tiff_origin
448
- @dataPos = dataPos
449
- @byteOrder_module = byteOrder_module
450
- self.extend @byteOrder_module
451
- end
452
-
453
- def scan_IFD
454
- #
455
- # Canon MakerNote starts from 0
456
- #
457
- @fin.pos = @dataPos + 0
458
- #
459
- # get the number of tags
460
- #
461
- numDirs = decode_ushort(fin_read_n(2))
462
- #
463
- # now scan them
464
- #
465
- 1.upto(numDirs) {
466
- curpos_tag = @fin.pos
467
- tag = parseTagID(fin_read_n(2))
468
- tagclass = Tag.find(tag.hex, Tag::CanonIFDTable)
469
- unit, formatter = Tag::Format::Unit[decode_ushort(fin_read_n(2))]
470
- count = decode_ulong(fin_read_n(4))
471
- tagdata = fin_read_n(4)
472
- obj = tagclass.new(tag, "MakerNote", count)
473
- obj.extend formatter, @byteOrder_module
474
- obj.pos = curpos_tag
475
- if unit * count > 4
476
- curpos = @fin.pos
477
- begin
478
- @fin.pos = @tiffHeader0 + decode_ulong(tagdata)
479
- obj.dataPos = @fin.pos
480
- obj.data = fin_read_n(unit*count)
481
- ensure
482
- @fin.pos = curpos
483
- end
484
- else
485
- obj.dataPos = @fin.pos - 4
486
- obj.data = tagdata
487
- end
488
- obj.processData
489
- yield obj
490
- }
491
- end
492
-
493
- private
494
-
495
- def fin_read_n(n)
496
- @fin.read(n)
497
- end
498
-
499
- end
500
-
501
-
502
- end