s3_meta_sync 0.4.1 → 0.4.2
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 +0 -0
- data/lib/s3_meta_sync/syncer.rb +12 -7
- data/lib/s3_meta_sync/version.rb +1 -1
- metadata +1 -1
- metadata.gz.sig +1 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ceaef9f69b6086aa41a91dcace544edd6854d81
|
4
|
+
data.tar.gz: aae6b965be96ecb24486b3ff49daef5146fa8b0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 210869b7b243c91ef66750024edabff48643e03bf0fa487baa3345957ca33cceac43feb965dd2339019f9f4c718c6bea3144f368b51911b1e8095c242f2e0228
|
7
|
+
data.tar.gz: dc0c3e89c49f7b58cc78d45079a6f50e73ac8651619867c1e4ef8a1ad673a21e9c6f896a2a3d6fc8ba64414c41f0855025bb92e1230deffa324db97b014342bd
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/s3_meta_sync/syncer.rb
CHANGED
@@ -62,8 +62,7 @@ module S3MetaSync
|
|
62
62
|
def download(source, destination)
|
63
63
|
raise if @config[:zip]
|
64
64
|
remote_meta = download_meta(source)
|
65
|
-
|
66
|
-
local_files = read_meta(destination)[:files]
|
65
|
+
local_files = meta_data(destination)[:files]
|
67
66
|
download = remote_meta[:files].select { |path, md5| local_files[path] != md5 }.map(&:first)
|
68
67
|
delete = local_files.keys - remote_meta[:files].keys
|
69
68
|
|
@@ -71,14 +70,16 @@ module S3MetaSync
|
|
71
70
|
|
72
71
|
unless download.empty? && delete.empty?
|
73
72
|
Dir.mktmpdir do |staging_area|
|
73
|
+
FileUtils.mkdir_p(destination)
|
74
74
|
copy_content(destination, staging_area)
|
75
75
|
download_files(source, staging_area, download, remote_meta[:zip])
|
76
76
|
delete_local_files(staging_area, delete)
|
77
|
-
download_file(source, META_FILE, staging_area, false)
|
78
|
-
verify_integrity!(staging_area, destination, remote_meta[:files])
|
79
77
|
delete_empty_folders(staging_area)
|
78
|
+
store_meta(staging_area, remote_meta)
|
79
|
+
|
80
|
+
verify_integrity!(staging_area, destination, remote_meta[:files])
|
80
81
|
self.class.swap_in_directory(destination, staging_area)
|
81
|
-
FileUtils.mkdir(staging_area)
|
82
|
+
FileUtils.mkdir(staging_area) # mktmpdir tries to remove this directory
|
82
83
|
end
|
83
84
|
end
|
84
85
|
end
|
@@ -159,13 +160,17 @@ module S3MetaSync
|
|
159
160
|
end
|
160
161
|
|
161
162
|
def generate_meta(source)
|
163
|
+
store_meta(source, meta_data(source))
|
164
|
+
end
|
165
|
+
|
166
|
+
def store_meta(source, meta)
|
162
167
|
file = "#{source}/#{META_FILE}"
|
163
168
|
FileUtils.mkdir_p(File.dirname(file))
|
164
|
-
File.write(file,
|
169
|
+
File.write(file, meta.to_yaml)
|
165
170
|
end
|
166
171
|
|
167
172
|
def meta_data(source)
|
168
|
-
return {} unless File.directory?(source)
|
173
|
+
return {files: {}} unless File.directory?(source)
|
169
174
|
files = Dir.chdir(source) do
|
170
175
|
files = Dir["**/*"].select { |f| File.file?(f) }
|
171
176
|
Hash[files.map { |file| [file, Digest::MD5.file(file).to_s] }]
|
data/lib/s3_meta_sync/version.rb
CHANGED
metadata
CHANGED
metadata.gz.sig
CHANGED