s3rsync 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
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