imap-backup 14.5.0 → 14.5.2
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,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
|