imap-backup 14.5.0 → 14.5.2
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2b34662687d096c2dc7e4522910a009d12aeb4eb6f57c66c9f352ca3e1d8051
|
4
|
+
data.tar.gz: 993b38940bf5c037cdf56a088b0dde8e380ec6bb081f1268eeddad72f6d9ea76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cc751ae2e157ea6e1e6f59cff363c21536219fd732962f2a5d5b97e3c8373a9bf698868023cf212590d75b784f74b8a36a5c5c87d2e6005f71314aa1511be00
|
7
|
+
data.tar.gz: 0ed900bd4e5ae9b01c3d10cefeb35da2d4185788fd6aded23b1f957dfdfae476c1a6dabb2804a61a889b91359f03e74a208eb6e3c411af255f61aec7a18435ad
|
@@ -104,9 +104,12 @@ module Imap::Backup
|
|
104
104
|
"path",
|
105
105
|
type: "string",
|
106
106
|
desc: "the path of the directory where backups are to be saved. " \
|
107
|
-
"If the directory does not
|
107
|
+
"If the directory does not exist, it will be created. " \
|
108
108
|
"If not set, this is set to a diretory under the current path " \
|
109
|
-
"which is derived from the username, by replacing '@' with '_'."
|
109
|
+
"which is derived from the username, by replacing '@' with '_'." \
|
110
|
+
"If this path parameter is not indicated, " \
|
111
|
+
"the default is the current directory plus the email " \
|
112
|
+
"with '@' replaced by '_'.",
|
110
113
|
aliases: ["-P"]
|
111
114
|
)
|
112
115
|
method_option(
|
@@ -28,7 +28,41 @@ module Imap::Backup
|
|
28
28
|
extend Forwardable
|
29
29
|
|
30
30
|
def_delegator :mbox, :pathname, :mbox_pathname
|
31
|
-
|
31
|
+
|
32
|
+
# Get message metadata
|
33
|
+
# @param uid [Integer] a message UID
|
34
|
+
# @return [Serializer::Message]
|
35
|
+
def get(uid)
|
36
|
+
validate!
|
37
|
+
imap.get(uid)
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [Array<Hash>]
|
41
|
+
def messages
|
42
|
+
validate!
|
43
|
+
imap.messages
|
44
|
+
end
|
45
|
+
|
46
|
+
# @return [Integer] the UID validity for the folder
|
47
|
+
def uid_validity
|
48
|
+
validate!
|
49
|
+
imap.uid_validity
|
50
|
+
end
|
51
|
+
|
52
|
+
# @return [Array<Integer>] The uids of all messages
|
53
|
+
def uids
|
54
|
+
validate!
|
55
|
+
imap.uids
|
56
|
+
end
|
57
|
+
|
58
|
+
# Update a message's metadata, replacing its UID
|
59
|
+
# @param old [Integer] the existing message UID
|
60
|
+
# @param new [Integer] the new UID to apply to the message
|
61
|
+
# @return [void]
|
62
|
+
def update_uid(old, new)
|
63
|
+
validate!
|
64
|
+
imap.update_uid(old, new)
|
65
|
+
end
|
32
66
|
|
33
67
|
# @return [String] a folder name
|
34
68
|
attr_reader :folder
|
@@ -62,10 +96,16 @@ module Imap::Backup
|
|
62
96
|
|
63
97
|
optionally_migrate2to3
|
64
98
|
|
65
|
-
|
99
|
+
imap_valid = imap.valid?
|
100
|
+
mbox_valid = mbox.valid?
|
101
|
+
if imap_valid && mbox_valid
|
66
102
|
@validated = true
|
67
103
|
return true
|
68
104
|
end
|
105
|
+
warn_imap = !imap_valid && imap.exist?
|
106
|
+
Logger.logger.info("Metadata file '#{imap.pathname}' is invalid") if warn_imap
|
107
|
+
warn_mbox = !mbox_valid && mbox.exist?
|
108
|
+
Logger.logger.info("Mailbox '#{mbox.pathname}' is invalid") if warn_mbox
|
69
109
|
|
70
110
|
delete
|
71
111
|
|
@@ -247,6 +287,8 @@ module Imap::Backup
|
|
247
287
|
MESSAGE
|
248
288
|
|
249
289
|
migrator.run
|
290
|
+
# Ensure new metadata gets loaded
|
291
|
+
@imap = nil
|
250
292
|
end
|
251
293
|
|
252
294
|
def ensure_containing_directory
|
data/lib/imap/backup/version.rb
CHANGED
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: 14.5.
|
4
|
+
version: 14.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Yates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -233,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
233
|
- !ruby/object:Gem::Version
|
234
234
|
version: '0'
|
235
235
|
requirements: []
|
236
|
-
rubygems_version: 3.
|
236
|
+
rubygems_version: 3.5.3
|
237
237
|
signing_key:
|
238
238
|
specification_version: 4
|
239
239
|
summary: Backup GMail (or other IMAP) accounts to disk
|