imap-backup 9.0.2 → 9.1.1

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: b2482ddc0519b2eb1b1160cee2aae34befdb8faa4acf9de2127be214bac3907f
4
- data.tar.gz: 2ed7b7b25497ee53cdfd1735628401076defaee63829aa9bfabd5fc483e69a28
3
+ metadata.gz: f5cf8072ca8c7a95ca74edc961352099b468a287e846c71c0243d5c2fc285e17
4
+ data.tar.gz: 8b66b63ed93044a9fe019ce5af838f165589a9f7b1eebe0751cc804891dacab2
5
5
  SHA512:
6
- metadata.gz: a7a6790a9354d9c06eedb72b2a6bf1960ed691a53c95b4a11c0ce50359ca397e0929240b2eafc93365610f43588c190515367462c4cde3ccf58242d5afd31622
7
- data.tar.gz: 6270491bbc12302365de92b666b438b3638baa67d162f01e0b825deef73544f349919b779d6f4ea3db4dc3e570b3d27ede88e108667745b811596c9214fd205f
6
+ metadata.gz: 79a410fe6b307969a27cafed38cd145951016c86c45f62033b91dd6b9df289993f4e134c42bd6ddabbb8b4a523534fdad18ea4b71cd40aa6656375c750c4aaf6
7
+ data.tar.gz: baf5eb4583afe8263f54cede96ad308f1b0ce507987b10adfba337eb899ecc456f22c9895cb18805a87ef486ba3712f150af17ca21beed5160081b3eb4c07ffe
@@ -15,6 +15,12 @@ module Imap::Backup
15
15
  config = load_config(**options)
16
16
  each_connection(config, emails) do |connection|
17
17
  connection.run_backup(refresh: refresh)
18
+ rescue StandardError => e
19
+ message =
20
+ "Backup for account '#{connection.account.username}' " \
21
+ "failed with error #{e}"
22
+ Logger.logger.warn message
23
+ next
18
24
  end
19
25
  end
20
26
 
@@ -54,8 +54,8 @@ module Imap::Backup
54
54
  aliases: ["-r"]
55
55
  )
56
56
  def backup
57
- Imap::Backup::Logger.setup_logging options
58
- Backup.new(options).run
57
+ non_logging_options = Imap::Backup::Logger.setup_logging(options)
58
+ Backup.new(non_logging_options).run
59
59
  end
60
60
 
61
61
  desc "local SUBCOMMAND [OPTIONS]", "View local info"
@@ -111,8 +111,8 @@ module Imap::Backup
111
111
  aliases: ["-s"]
112
112
  )
113
113
  def migrate(source_email, destination_email)
114
- Imap::Backup::Logger.setup_logging options
115
- Migrate.new(source_email, destination_email, **options).run
114
+ non_logging_options = Imap::Backup::Logger.setup_logging(options)
115
+ Migrate.new(source_email, destination_email, **non_logging_options).run
116
116
  end
117
117
 
118
118
  desc(
@@ -161,8 +161,8 @@ module Imap::Backup
161
161
  aliases: ["-s"]
162
162
  )
163
163
  def mirror(source_email, destination_email)
164
- Imap::Backup::Logger.setup_logging options
165
- Mirror.new(source_email, destination_email, **options).run
164
+ non_logging_options = Imap::Backup::Logger.setup_logging(options)
165
+ Mirror.new(source_email, destination_email, **non_logging_options).run
166
166
  end
167
167
 
168
168
  desc "remote SUBCOMMAND [OPTIONS]", "View info about online accounts"
@@ -178,8 +178,8 @@ module Imap::Backup
178
178
  quiet_option
179
179
  verbose_option
180
180
  def restore(email = nil)
181
- Imap::Backup::Logger.setup_logging options
182
- Restore.new(email, options).run
181
+ non_logging_options = Imap::Backup::Logger.setup_logging(options)
182
+ Restore.new(email, non_logging_options).run
183
183
  end
184
184
 
185
185
  desc "setup", "Configure imap-backup"
@@ -191,8 +191,8 @@ module Imap::Backup
191
191
  quiet_option
192
192
  verbose_option
193
193
  def setup
194
- Imap::Backup::Logger.setup_logging options
195
- Setup.new(options).run
194
+ non_logging_options = Imap::Backup::Logger.setup_logging(options)
195
+ Setup.new(non_logging_options).run
196
196
  end
197
197
 
198
198
  desc "stats EMAIL [OPTIONS]", "Print stats for each account folder"
@@ -206,8 +206,8 @@ module Imap::Backup
206
206
  quiet_option
207
207
  verbose_option
208
208
  def stats(email)
209
- Imap::Backup::Logger.setup_logging options
210
- Stats.new(email, options).run
209
+ non_logging_options = Imap::Backup::Logger.setup_logging(options)
210
+ Stats.new(email, non_logging_options).run
211
211
  end
212
212
 
213
213
  desc "utils SUBCOMMAND [OPTIONS]", "Various utilities"
@@ -13,11 +13,14 @@ module Imap::Backup
13
13
  end
14
14
 
15
15
  def self.setup_logging(options = {})
16
+ copy = options.clone
17
+ quiet = copy.delete(:quiet)
18
+ verbose = copy.delete(:verbose)
16
19
  level =
17
20
  case
18
- when options[:quiet]
21
+ when quiet
19
22
  ::Logger::Severity::UNKNOWN
20
- when options[:verbose]
23
+ when verbose
21
24
  ::Logger::Severity::DEBUG
22
25
  else
23
26
  ::Logger::Severity::INFO
@@ -25,6 +28,8 @@ module Imap::Backup
25
28
  logger.level = level
26
29
  debug = level == ::Logger::Severity::DEBUG
27
30
  Net::IMAP.debug = debug
31
+
32
+ copy
28
33
  end
29
34
 
30
35
  def self.sanitize_stderr
@@ -2,8 +2,8 @@ module Imap; end
2
2
 
3
3
  module Imap::Backup
4
4
  MAJOR = 9
5
- MINOR = 0
6
- REVISION = 2
5
+ MINOR = 1
6
+ REVISION = 1
7
7
  PRE = nil
8
8
  VERSION = [MAJOR, MINOR, REVISION, PRE].compact.map(&:to_s).join(".")
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imap-backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.2
4
+ version: 9.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Yates
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-11 00:00:00.000000000 Z
11
+ date: 2023-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline
@@ -217,11 +217,8 @@ files:
217
217
  - LICENSE
218
218
  - README.md
219
219
  - bin/imap-backup
220
- - docs/configuration.md
221
220
  - docs/delimiters-and-prefixes.md
222
221
  - docs/development.md
223
- - docs/restore.md
224
- - docs/setup.md
225
222
  - imap-backup.gemspec
226
223
  - lib/cli_coverage.rb
227
224
  - lib/email/mboxrd/message.rb
@@ -1,25 +0,0 @@
1
- Configuration is stored in a JSON file.
2
-
3
- The format is documented [here](files/config.md).
4
-
5
- # Folders
6
-
7
- By default, all folders are backed-up. You can override this by choosing
8
- specific folders.
9
-
10
- # Connection options
11
-
12
- You can override the parameters passed to `Net::IMAP` with `connection_options`.
13
-
14
- See the Ruby Standard Library documentation for `Net::IMAP` of details of [supported parameters](https://ruby-doc.org/stdlib-3.1.2/libdoc/net-imap/rdoc/Net/IMAP.html#method-c-new).
15
-
16
- Specifically, if you are using a self-signed certificate and get SSL errors, e.g.
17
- `certificate verify failed`, you can choose to not verify the TLS connection.
18
-
19
- Connection options can be entered via `imap-backup setup` as JSON.
20
-
21
- Choose the account, then 'modify connection options'.
22
-
23
- For example:
24
-
25
- ![Entering connection options as JSON](./images/entering-connection-options-as-json.png "Entering connection options as JSON")
data/docs/restore.md DELETED
@@ -1,28 +0,0 @@
1
- # FAQ
2
-
3
- # How does restore work?
4
-
5
- Backed-up emails are pushed to the IMAP server.
6
- If there are clashes, folders are renamed.
7
-
8
- # What are all these 'INBOX.12345' files?
9
-
10
- If, when the backup is launched, the IMAP server contains a folder with
11
- the same name, but different history to the local backup, the local
12
- emails cannot simply be added to the existing folder.
13
-
14
- In this case, a numeric suffix is added to the **local** folder,
15
- before it is restored.
16
-
17
- In this way, old and new emails are kept separate.
18
-
19
- # Will my email get overwritten?
20
-
21
- No.
22
-
23
- Emails are identified by folder and a specific email id. Any email that
24
- is already on the server is skipped.
25
-
26
- ## How do I restore to a different service?
27
-
28
- It is best to use the `migrate` command in this case.
data/docs/setup.md DELETED
@@ -1,5 +0,0 @@
1
- # HOWTOs
2
-
3
- ## Set the server for a Google Apps account
4
-
5
- Use `imap.gmail.com` as the 'server' setting.