s3_meta_sync 0.8.1 → 0.9.0
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 +4 -4
- data/lib/s3_meta_sync/syncer.rb +18 -4
- data/lib/s3_meta_sync/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69de05c47d37f1180bc63baee1e0e6a44ae9b015
|
4
|
+
data.tar.gz: 95adb0d72567884df6d36f2de1b98821bfe8f075
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94f6110520c5bbb3f309436c1fbb8bdae2923298f37c1cfac8d8e0a8f8e36031c1811c7d84f91583f7134908e57559a590f365a69612e519ac2ee7146edce31d
|
7
|
+
data.tar.gz: 17bf888f1b3b0f7ed35b6fdd61d183a42487cd0682005a1ba60948b6131b3e6565d385063e91455b1f2b3354d9192a3ecb02edce8b34c51f26f2508889d6766b
|
data/lib/s3_meta_sync/syncer.rb
CHANGED
@@ -17,13 +17,18 @@ module S3MetaSync
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def sync(source, destination)
|
20
|
-
raise if source.end_with?("/") or destination.end_with?("/")
|
20
|
+
raise ArgumentError if source.end_with?("/") or destination.end_with?("/")
|
21
21
|
|
22
22
|
if destination.include?(":")
|
23
23
|
@bucket, destination = destination.split(":")
|
24
24
|
upload(source, destination)
|
25
25
|
else
|
26
|
-
|
26
|
+
if url?(source)
|
27
|
+
@bucket = nil
|
28
|
+
source = source
|
29
|
+
else
|
30
|
+
@bucket, source = source.split(":")
|
31
|
+
end
|
27
32
|
download(source, destination)
|
28
33
|
end
|
29
34
|
end
|
@@ -35,7 +40,7 @@ module S3MetaSync
|
|
35
40
|
remote_meta = begin
|
36
41
|
download_meta(destination)
|
37
42
|
rescue RemoteWithoutMeta
|
38
|
-
log "Remote has no
|
43
|
+
log "Remote has no #{META_FILE}, uploading everything", true
|
39
44
|
{files: {}}
|
40
45
|
end
|
41
46
|
local_files = generate_meta(source)[:files]
|
@@ -232,7 +237,12 @@ module S3MetaSync
|
|
232
237
|
|
233
238
|
def download_content(path)
|
234
239
|
log "Downloading #{path}"
|
235
|
-
url =
|
240
|
+
url =
|
241
|
+
if url?(path)
|
242
|
+
path
|
243
|
+
else
|
244
|
+
"https://s3#{"-#{region}" if region}.amazonaws.com/#{@bucket}/#{path}"
|
245
|
+
end
|
236
246
|
options = (@config[:ssl_none] ? {:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE} : {})
|
237
247
|
open(url, options)
|
238
248
|
rescue OpenURI::HTTPError
|
@@ -280,6 +290,10 @@ module S3MetaSync
|
|
280
290
|
end.each(&:join)
|
281
291
|
end
|
282
292
|
|
293
|
+
def url?(source)
|
294
|
+
source.include?("://")
|
295
|
+
end
|
296
|
+
|
283
297
|
def log(text, important=false)
|
284
298
|
$stderr.puts text if @config[:verbose] or important
|
285
299
|
end
|
data/lib/s3_meta_sync/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s3_meta_sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Grosser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|