flickrup 1.1.19 → 1.2.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1d16f491f4af96fb33ad7fb5966a64f8af6a76c8
4
- data.tar.gz: 0e66db279ca1f1ced83b54fe7503782eb229e29b
3
+ metadata.gz: 6064076ba6e37057c4702f7312bf8662eca5867c
4
+ data.tar.gz: ade69f6716c47355ceab8c591aa9701ef583dd19
5
5
  SHA512:
6
- metadata.gz: 5a1780707987e726e96924dd4319fc81d172b4694d414a931e44fb3b1dbd07347903d8025bc793fe3f4d4194a7164174024f149f5b1ed43cc1193238f7ea1b2c
7
- data.tar.gz: 80ae501a3f7bf8b8b7597ef8da2dd77ee77488c96637e6372ad93c3dfec5824d0f429d309c6f5539a0b7a951ca97aade9a149bed242921f5fba4d1a03f7d5a38
6
+ metadata.gz: 1efc5a139027b23c1ae00522bd47d4467d28a84a41053df7f510abeab28a542be2cb4a2c2903c6f4aebd2c13bd8f4c03db4d147bba0702814c01185655c1d25f
7
+ data.tar.gz: 6b05b6de69d4f84b3ac1e3d2b008c5608df7d67f6052e94cded816fbe7918660490e7a271e3303524cb85e8a93a8c1165637fc2fc8301a4a592eb8a44e9bb3a1
@@ -0,0 +1,24 @@
1
+ class BlockedTags
2
+ include Logging
3
+
4
+ def initialize(config)
5
+ @config = config
6
+ end
7
+
8
+ def preupload(ctx)
9
+
10
+ blockers = @config[:blocked_tags]
11
+
12
+ if blockers != nil
13
+ blockers.each do |tag_name, tag_value|
14
+ if ctx.file[tag_name] == tag_value
15
+ #block
16
+ logger.info("Blocking upload on #{ctx.properties[:filename]} as #{tag_name}=#{tag_value}")
17
+ return nil
18
+ end
19
+ end
20
+ end
21
+
22
+ ctx
23
+ end
24
+ end
@@ -6,15 +6,23 @@ class ReplacementTags
6
6
  def preupload(ctx)
7
7
 
8
8
  replacements = @config[:tag_replacements]
9
+ all_tags = ctx.file.tags
9
10
 
10
11
  if replacements != nil
11
12
  replacements.each do |tag_name, tag_value_replacements|
12
13
  existing = ctx.file[tag_name]
13
14
 
14
15
  tag_value_replacements.each do |key, value|
15
- if existing == key
16
- ctx.file[tag_name] = value
17
- break
16
+ if key.start_with? '$'
17
+ if all_tags.include? key[1..-1]
18
+ ctx.file[tag_name] = value
19
+ break
20
+ end
21
+ else
22
+ if existing == key
23
+ ctx.file[tag_name] = value
24
+ break
25
+ end
18
26
  end
19
27
  end
20
28
  end
@@ -25,13 +25,22 @@ class TaggedFile
25
25
  def doUpload(preupload_handlers, uploader)
26
26
 
27
27
  context = preupload_handlers.reduce(ProcessingContext.new(self)) do |ctx, handler|
28
- handler.preupload(ctx)
28
+ if ctx != nil
29
+ handler.preupload(ctx)
30
+ else
31
+ nil
32
+ end
29
33
  end
30
34
 
31
- pre_upload
32
- uploader.upload(context)
33
- post_upload
34
- end
35
+ if context == nil
36
+ false
37
+ else
38
+ pre_upload
39
+ uploader.upload(context)
40
+ post_upload
41
+ true
42
+ end
43
+ end
35
44
 
36
45
  def tags
37
46
  keywords = self['keywords']
@@ -6,6 +6,7 @@ require "flickrup/ext/replacement_tags"
6
6
  require "flickrup/ext/machine_tags"
7
7
  require "flickrup/ext/visibility"
8
8
  require "flickrup/ext/sidecar"
9
+ require "flickrup/ext/blocked_tags"
9
10
  require "flickrup/archiver"
10
11
  require "flickrup/ext/associated_files"
11
12
  require 'flickrup/converter'
@@ -82,7 +83,9 @@ class Processor
82
83
  tagged.each do |x|
83
84
  begin
84
85
  logger.info("Beginning upload for #{x.filename}...")
85
- x.doUpload(get_preupload_handlers, uploader)
86
+ unless x.doUpload(get_preupload_handlers, uploader)
87
+ break #abort
88
+ end
86
89
  logger.info("Upload complete for #{x.filename}")
87
90
  logger.info("Beginning archive for #{x.filename}...")
88
91
  x.archive(get_archiver, @config[:archive_dir])
@@ -135,7 +138,7 @@ class Processor
135
138
  end
136
139
 
137
140
  def get_preupload_handlers
138
- [MachineTags.new(@config, {}), ReplacementTags.new(@config)]
141
+ [MachineTags.new(@config, {}), ReplacementTags.new(@config), BlockedTags.new(@config)]
139
142
  end
140
143
 
141
144
  def upload_handlers
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flickrup
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.19
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Gilbert
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: 0.9.6
75
+ version: 0.9.8
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: 0.9.6
82
+ version: 0.9.8
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -132,6 +132,7 @@ files:
132
132
  - lib/flickrup/archiver.rb
133
133
  - lib/flickrup/converter.rb
134
134
  - lib/flickrup/ext/associated_files.rb
135
+ - lib/flickrup/ext/blocked_tags.rb
135
136
  - lib/flickrup/ext/machine_tags.rb
136
137
  - lib/flickrup/ext/prefixed_extension.rb
137
138
  - lib/flickrup/ext/replacement_tags.rb