s3_meta_sync 0.4.4 → 0.4.5
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
- 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
|