s3rsync 0.1.7 → 0.1.8

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODljYTc3YjZjNjNjYzhjNTU2YzdiMGNmZDhlY2I4M2UyNzE2NDBhZg==
4
+ NGMzOTY2MTdlNGFmMWFiMWU1NmViOTdmZjVjMTk3NzY5YmUyODUzZQ==
5
5
  data.tar.gz: !binary |-
6
- Njc0MWNlN2JmZGYyYzE5NjJmZWJmYjczOGZiOTlmNTk3NjJiZjU0YQ==
6
+ NWJiNWY5NDg5NDU2Y2I3MmI1ZjkwNDRmYjhiMjlmOGE5ODI0NGIwOA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWNlZTg2NDk1MDhmZDBlOTNiZGRjNWQ1OTIwMTFmMDkzYmFmOGNjMjllMGQx
10
- ZmQwNGFkMTZjYWFiYWU0ZWIzMjRlZDE3YjZkMGY4MDVlZDc1MWNjMDAyYzJh
11
- MDBiNmFhYjhlNzc2MDRhYTEyOTE4MmJlNGE4MjA1NjIxYTNjMDE=
9
+ ZjQxOGYwMWMxYWY0ZmM0MTkwMDJhMmNlYjA5MjczOTgzOGVhZmU3ZDI3Mzk3
10
+ YjE0Njk2NzQ0YWI1YzlhZmM3YjMxOWY4NTFkMmEzOGJhOWU0YzY3YzI2OTA4
11
+ N2M4NDI2YTY4MGEzZGMzYjcyZDc3MzY2YTE4N2NkZTllZTExMGQ=
12
12
  data.tar.gz: !binary |-
13
- ZDkyYWFjMzY4ZGUyMjkyNTI0M2I3YjlkZmY0YzBhZjY4YjNjODk5Yjc2MTVj
14
- N2RmYjRhZDc3N2IwMDJiNzE4ODZlNmY0ZjExMzQyMzQ0NDkxZmNjMDNkZDZk
15
- MzkzMjlkM2EzZWY3YWZkNDk5NmYwOTk4Njc2N2M5YmYwOGIxYWM=
13
+ Nzg3N2NiOTBmNGZjMzBmOWRmZWU4M2JhZGIyZWMyYWNkMWRjMjE2M2IxNGY2
14
+ NzFhNDNjNDliNzJhNTI3MTcyYjZjODI4NzA0YjBlOTM2YTE3OWNkNDZjNzQ2
15
+ ZjdkZmE1NTg2YTczOTRlNmIwNjU3MjgwYmY1YTAyN2IzZWM3MGY=
@@ -10,6 +10,7 @@ module S3Rsync
10
10
  method_option :'log-path', :aliases => "-l"
11
11
  method_option :'dry-run', :aliases => "-d", :type => :boolean, :default => false
12
12
  method_option :'make-public', :aliases => "-m", :type => :boolean, :default => false
13
+ method_option :'enable-lock', :aliases => "-e", :type => :boolean, :default => false
13
14
  end
14
15
 
15
16
  desc "upload", "sync from local to s3"
@@ -16,6 +16,7 @@ module S3Rsync
16
16
  @params[:s3cmd_conf] = @params[:config_path].sub('.json', '_s3rsync.conf')
17
17
  @params[:dry_run] = opt['dry-run']
18
18
  @params[:make_public] = opt['make-public']
19
+ @params[:enable_lock] = opt['enable-lock']
19
20
  @log.debug "@params[:config_path]: #{@params[:config_path]}"
20
21
  begin
21
22
  conf = JSON.parse File.read(@params[:config_path])
@@ -68,18 +69,23 @@ module S3Rsync
68
69
  def run(mode = :upload)
69
70
  init_s3cmd_conf
70
71
 
71
- if !Dir.exists?(@params[:path])
72
- @log.error "Local dir not exist on disk: #{@params[:path]}"
72
+ valid_file_upload = (mode == :upload && File.exists?(@params[:path]))
73
+ if !Dir.exists?(@params[:path]) && !valid_file_upload
74
+ @log.error "Local dir or file not exist on disk: #{@params[:path]}"
73
75
  return 4
74
76
  end
75
77
 
76
- sync_locations = "#{@params[:path]}/ s3://#{@params[:s3_bucket]}/#{@params[:s3_prefix]}#{@params[:path]}/"
78
+ @params[:path] += '/' if Dir.exists?(@params[:path])
79
+ sync_locations = "#{@params[:path]} s3://#{@params[:s3_bucket]}/#{@params[:s3_prefix]}#{@params[:path]}"
77
80
  @log.debug "original sync_locations: #{sync_locations}"
78
- lockfile = get_lock(mode)
79
- @log.debug "lockfile: #{lockfile.inspect}"
80
- if lockfile.locked?
81
- @log.warn "lock file found, exiting: #{lockfile.inspect}"
82
- return 5
81
+
82
+ if @params[:enable_lock]
83
+ lockfile = get_lock(mode)
84
+ @log.debug "lockfile: #{lockfile.inspect}"
85
+ if lockfile.locked?
86
+ @log.warn "lock file found, exiting: #{lockfile.inspect}"
87
+ return 5
88
+ end
83
89
  end
84
90
 
85
91
  if mode == :download
@@ -90,7 +96,7 @@ module S3Rsync
90
96
 
91
97
  sync_output = 1
92
98
  begin
93
- lockfile.lock
99
+ lockfile.lock if @params[:enable_lock]
94
100
  s3cmd_args = {}
95
101
  s3cmd_args['-c'] = @params[:s3cmd_conf]
96
102
  s3cmd_args['--dry-run'] = '' if @params[:dry_run]
@@ -106,7 +112,7 @@ module S3Rsync
106
112
  sync_output = 1
107
113
  @log.error "something wrong while trying to run the sync: #{e.inspect}"
108
114
  ensure
109
- lockfile.unlock
115
+ lockfile.unlock if @params[:enable_lock]
110
116
  end
111
117
 
112
118
  if (sync_output == 1) || sync_output.downcase.include?('error')
@@ -1,3 +1,3 @@
1
1
  module S3rsync
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
@@ -12,6 +12,7 @@ describe S3Rsync::Sync do
12
12
  'config-path' => 'test_json_conf_path.json',
13
13
  'dry-run' => false,
14
14
  'make-public' => false,
15
+ 'enable-lock' => false,
15
16
  }
16
17
  }
17
18
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3rsync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - idevops