s3_meta_sync 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +1 -4
- data/lib/s3_meta_sync/syncer.rb +17 -16
- data/lib/s3_meta_sync/version.rb +1 -1
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc959d3e973194fb4fbfb3deddef13cfa6e054df
|
4
|
+
data.tar.gz: 364d7b58956386524107f97306bca633289e6ee4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e828832357b51c5af7364d2b263e343de70a640b662b73f981f9c46577a265339857fda8baec7a0a1666053a44dac725583afb5f773d4a915adb696d12768fff
|
7
|
+
data.tar.gz: 7cda74fad51d1bb8c2ad83a71804d95cc85d812276ceb037fc772b59de8b1740239c4104774bbe0633957bb279568ce1f4770bca87384000e5a143e1a6299410
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
@@ -1,4 +1 @@
|
|
1
|
-
|
2
|
-
k��b�!���7F뼖k5tA��y2B�8��Ƣ��"�X������n�bxRQ��,'9��K�������y\��dG/����<o�ߵdr��$�k~߁P@�����H%;�,DKϵ�|�[��5d�
|
3
|
-
�|��_=D(�o��3�s��ϯY�֗ �ۖ�Q�2�E�Ru�n�|jY��P�im����
|
4
|
-
|
1
|
+
�;B@�r)�`�"L�%��-\��e�A������>We�oշ�0�w�/�#�R ㇻB�X�&������<>�>�x����q�d�e��e$e=��o7��:�8״'�SM��]�z��Drچh^u�
|
data/lib/s3_meta_sync/syncer.rb
CHANGED
@@ -59,7 +59,6 @@ module S3MetaSync
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def download(source, destination)
|
62
|
-
raise if @config[:zip]
|
63
62
|
remote_meta = download_meta(source)
|
64
63
|
local_files = ((@config[:no_local_changes] && read_meta(destination)) || meta_data(destination))[:files]
|
65
64
|
|
@@ -77,7 +76,7 @@ module S3MetaSync
|
|
77
76
|
delete_empty_folders(staging_area)
|
78
77
|
store_meta(staging_area, remote_meta)
|
79
78
|
|
80
|
-
verify_integrity!(staging_area, destination, remote_meta[:files])
|
79
|
+
verify_integrity!(staging_area, destination, download, remote_meta[:files])
|
81
80
|
self.class.swap_in_directory(destination, staging_area)
|
82
81
|
FileUtils.mkdir(staging_area) # mktmpdir tries to remove this directory
|
83
82
|
end
|
@@ -111,16 +110,15 @@ module S3MetaSync
|
|
111
110
|
FileUtils.remove_dir(delete)
|
112
111
|
end
|
113
112
|
|
114
|
-
def verify_integrity!(staging_area, destination, remote)
|
115
|
-
|
113
|
+
def verify_integrity!(staging_area, destination, changed, remote)
|
114
|
+
local = md5_hash(staging_area, changed)
|
115
|
+
corrupted = local.select { |file, md5| remote[file] != md5 }.map(&:first)
|
116
|
+
return if corrupted.empty?
|
116
117
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
log message, true
|
122
|
-
raise RemoteCorrupt, message
|
123
|
-
end
|
118
|
+
File.write("#{destination}/#{CORRUPT_FILES_LOG}", corrupted.join("\n"))
|
119
|
+
message = "corrupted files downloaded:\n#{corrupted.join("\n")}"
|
120
|
+
log message, true
|
121
|
+
raise RemoteCorrupt, message
|
124
122
|
end
|
125
123
|
|
126
124
|
def consume_corrupted_files(source)
|
@@ -173,15 +171,18 @@ module S3MetaSync
|
|
173
171
|
|
174
172
|
def meta_data(source)
|
175
173
|
return {files: {}} unless File.directory?(source)
|
176
|
-
|
177
|
-
files = Dir["**/*"].select { |f| File.file?(f) }
|
178
|
-
Hash[files.map { |file| [file, Digest::MD5.file(file).to_s] }]
|
179
|
-
end
|
180
|
-
result = {files: files}
|
174
|
+
result = {files: md5_hash(source)}
|
181
175
|
result[:zip] = @config[:zip] if @config[:zip]
|
182
176
|
result
|
183
177
|
end
|
184
178
|
|
179
|
+
def md5_hash(source, files=nil)
|
180
|
+
Dir.chdir(source) do
|
181
|
+
files ||= Dir["**/*"].select { |f| File.file?(f) }
|
182
|
+
Hash[files.map { |file| [file, Digest::MD5.file(file).to_s] }]
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
185
186
|
def read_meta(source)
|
186
187
|
file = "#{source}/#{META_FILE}"
|
187
188
|
YAML.load(File.read(file)) if File.exist?(file)
|
data/lib/s3_meta_sync/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s3_meta_sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Grosser
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
F5etKHZg0j3eHO31/i2HnswY04lqGImUu6aM5EnijFTB7PPW2KwKKM4+kKDYFdlw
|
31
31
|
/0WV1Ng2/Y6qsHwmqGg2VlYj2h4=
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2014-12-
|
33
|
+
date: 2014-12-13 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: aws-sdk
|
metadata.gz.sig
CHANGED
Binary file
|