mite-backup 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e2a1de229359b4ec2c13e670f632669885c1fab3b3de816eae6890f924e3e4a
4
- data.tar.gz: 4284bc243e1f88e5b3a71647a68cf08eb14907fad396796ca3fb69090c253bfa
3
+ metadata.gz: a117790317b4837a4f8e2cd95226457a36b089494e74a39ae443fa0fc6f03cf3
4
+ data.tar.gz: 278c4c22b657de5c21bbfab81c059d6d5beae1a9c2e5c15972142511456ff7c9
5
5
  SHA512:
6
- metadata.gz: 6e2b252caf37075b1752da4f51b6f83a0be45be881916120b8af1386454e7702b3f5965b718f3ad114fa6cb313fb6e718aa6d7ff3a7153a349cf548874608632
7
- data.tar.gz: 91615a738bfc2b0fd7ff2b18e88c30358dca80a07904e5f802bded1b5b3343664544356bf5caf673de3ce9994a52a11cba254884bc9b384dd648b4d8c146a0d7
6
+ metadata.gz: a0ed983b6beb773b1e5bf1cf95fee71464c2b26a1248f44078b49fc43b8990b786ced405a5e9bfa884a19a10d78e453b5e1d7d946259738767a510e79d3c585a
7
+ data.tar.gz: dafd207a7c3c4e29df78c69d74bc76c675bb23dd4c93b456b1bb7ad692ac2f15317d1e391e89fa15e75aa30e825bc19ae07c45a42bc270214400562969ff32e6
@@ -5,7 +5,9 @@ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
5
  require 'mite-backup'
6
6
  require 'optparse'
7
7
 
8
- @options = {}
8
+ @options = {
9
+ "wait_for" => MiteBackup::DEFAULT_WAIT_FOR
10
+ }
9
11
 
10
12
  parser = OptionParser.new do |opts|
11
13
  opts.banner = "Usage: mite-backup COMMAND [options]"
@@ -13,18 +15,25 @@ parser = OptionParser.new do |opts|
13
15
  opts.separator ""
14
16
  opts.separator "Options:"
15
17
 
16
- opts.on("-a", "--account [ACCOUNT-SUBDOMAIN]", "your mite account subdomain (without .mite.yo.lk)") do |account|
18
+ opts.on("-a", "--account ACCOUNT-SUBDOMAIN", "your mite account subdomain (without .mite.yo.lk)") do |account|
17
19
  @options["account"] = account
18
20
  end
19
21
 
20
- opts.on("-e", "--email [EMAIL]", "mite.user email") do |email|
22
+ opts.on("-e", "--email EMAIL", "mite.user email") do |email|
21
23
  @options["email"] = email
22
24
  end
23
25
 
24
- opts.on("-p", "--password [PASSWORD]", "mite.user password") do |password|
26
+ opts.on("-p", "--password PASSWORD", "mite.user password") do |password|
25
27
  @options["password"] = password
26
28
  end
27
29
 
30
+ opts.on(
31
+ "-w", "--wait-for SECONDS", Integer,
32
+ "Number of seconds to wait for backup to be ready. Defaults to 240 seconds."
33
+ ) do |seconds|
34
+ @options["wait_for"] = seconds
35
+ end
36
+
28
37
  opts.on("-c", "--clear", "Removes all config values from config file.") do
29
38
  @options["clear_config"] = true
30
39
  end
@@ -37,7 +46,7 @@ parser = OptionParser.new do |opts|
37
46
  opts.separator ""
38
47
  opts.separator "Commands:"
39
48
  opts.separator " get Download backupfile and ouput xml to STDOUT (Default command)"
40
- opts.separator " setup Write given options to config file ~/.mite-backup.yml, so you don't need to repeat the on ever get command."
49
+ opts.separator " setup Write given options to config file ~/.mite-backup.yml, so you don't need to repeat them on every get command."
41
50
  opts.separator ""
42
51
  end
43
52
 
@@ -53,4 +62,4 @@ else
53
62
  puts ""
54
63
  puts parser.help
55
64
  exit(1)
56
- end
65
+ end
@@ -6,7 +6,7 @@ require 'zlib'
6
6
  require 'yaml'
7
7
 
8
8
  class MiteBackup
9
- MAX_CHECKS = 48
9
+ DEFAULT_WAIT_FOR = 240 # seconds
10
10
  SLEEP_BEFORE_EACH_CHECK = 5 # seconds
11
11
  CONFIG_FILE = File.expand_path('~/.mite-backup.yml')
12
12
  USER_AGENT = "mite-backup/#{MiteBackup::VERSION}"
@@ -17,6 +17,9 @@ class MiteBackup
17
17
  @account = correct_account(options["account"] || config["account"])
18
18
  @email = options["email"] || config["email"]
19
19
  @password = options["password"] || config["password"]
20
+ @max_checks = options["wait_for"] != DEFAULT_WAIT_FOR ?
21
+ options["wait_for"] / SLEEP_BEFORE_EACH_CHECK :
22
+ config["wait_for"] || DEFAULT_WAIT_FOR
20
23
  end
21
24
 
22
25
  def run
@@ -30,6 +33,8 @@ class MiteBackup
30
33
  (config["account"] = @account) || config.delete("account")
31
34
  (config["email"] = @email) || config.delete("email")
32
35
  (config["password"] = @password) || config.delete("password")
36
+ (config["wait_for"] = @options["wait_for"]) || config.delete("wait_for")
37
+ config.delete("wait_for") if config["wait_for"] == DEFAULT_WAIT_FOR
33
38
 
34
39
  if config.size == 0
35
40
  self.class.clear_config
@@ -59,7 +64,7 @@ class MiteBackup
59
64
  end
60
65
 
61
66
  def check
62
- MAX_CHECKS.times do |i|
67
+ @max_checks.times do |i|
63
68
  sleep(SLEEP_BEFORE_EACH_CHECK)
64
69
  @ready = parse_json(perform_request(Net::HTTP::Get.new("/account/backup/#{@id}.json")))["ready"]
65
70
  break if @ready
@@ -77,7 +82,7 @@ class MiteBackup
77
82
  end
78
83
  puts gz.read
79
84
  else
80
- failed "Backup was not ready for download after #{MAX_CHECKS*SLEEP_BEFORE_EACH_CHECK} seconds. Contact the mite support."
85
+ failed "Backup was not ready for download after #{@options["wait_for"]} seconds. Contact the mite.support."
81
86
  end
82
87
  end
83
88
 
@@ -1,3 +1,3 @@
1
1
  class MiteBackup
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mite-backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-20 00:00:00.000000000 Z
11
+ date: 2020-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json