flickrup 1.1.19 → 1.2.2

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: 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