larch 1.1.1 → 1.1.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.
- data/HISTORY +7 -0
- data/README.rdoc +5 -17
- data/lib/larch.rb +1 -1
- data/lib/larch/imap.rb +7 -0
- data/lib/larch/imap/mailbox.rb +3 -2
- data/lib/larch/version.rb +2 -2
- metadata +69 -56
data/HISTORY
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
Larch History
|
2
2
|
================================================================================
|
3
3
|
|
4
|
+
Version 1.1.2 (2013-01-24)
|
5
|
+
* Fixed an issue in which a folder containing only one message would not be
|
6
|
+
copied.
|
7
|
+
* Switched to the sqlite3 gem instead of amalgalite, since the latter fails
|
8
|
+
to compile against Ruby 1.9.3. This means you'll need to have SQLite
|
9
|
+
available on your system, since it's no longer bundled.
|
10
|
+
|
4
11
|
Version 1.1.1 (2011-06-26)
|
5
12
|
* Relaxed dependency versions.
|
6
13
|
|
data/README.rdoc
CHANGED
@@ -9,8 +9,8 @@ Larch is particularly well-suited for copying email to, from, or between Gmail
|
|
9
9
|
accounts.
|
10
10
|
|
11
11
|
*Author*:: Ryan Grove (mailto:ryan@wonko.com)
|
12
|
-
*Version*:: 1.1.
|
13
|
-
*Copyright*:: Copyright (c)
|
12
|
+
*Version*:: 1.1.2 (2013-01-24)
|
13
|
+
*Copyright*:: Copyright (c) 2013 Ryan Grove. All rights reserved.
|
14
14
|
*License*:: GPL 2.0 (http://opensource.org/licenses/gpl-2.0.php)
|
15
15
|
*Website*:: http://github.com/rgrove/larch
|
16
16
|
|
@@ -245,19 +245,6 @@ has originated outside of Gmail (Gmail itself does not corrupt the message).
|
|
245
245
|
There is currently no known solution for this problem apart from deleting the
|
246
246
|
corrupted messages.
|
247
247
|
|
248
|
-
==== Maximum folder name length of 40 characters
|
249
|
-
|
250
|
-
Folders in Gmail IMAP are really just labels, and a nested folder hierarchy like
|
251
|
-
"Foo\Bar\Baz" is actually just a single label with "\" characters in it. Since
|
252
|
-
Gmail limits label names to 40 characters, it's impossible to create a nested
|
253
|
-
folder hierarchy with a combined name length of more than 40 characters
|
254
|
-
including delimiters.
|
255
|
-
|
256
|
-
If you try to copy a too-long folder hierarchy to Gmail using Larch, Gmail will
|
257
|
-
return a "Folder name is not allowed" error. To work around this, reorganize
|
258
|
-
your mail into a shallower hierarchy on the source server to avoid hitting the
|
259
|
-
folder name length limit.
|
260
|
-
|
261
248
|
==== Folder names cannot contain leading or trailing whitespace
|
262
249
|
|
263
250
|
Most IMAP servers allow folder names to contain leading and trailing whitespace,
|
@@ -330,8 +317,9 @@ Larch was created and is maintained by Ryan Grove <ryan@wonko.com>.
|
|
330
317
|
|
331
318
|
The following lovely people have also contributed to Larch:
|
332
319
|
|
333
|
-
*
|
320
|
+
* Torey Heinz <torey@ihswebdesign.com>
|
334
321
|
* Edgardo Hames <ehames@gmail.com>
|
322
|
+
* Andrew Hobson <ahobson@damballa.com>
|
335
323
|
* Justin Mazzi <hh@mailheist.com>
|
336
324
|
|
337
325
|
== Credit
|
@@ -347,7 +335,7 @@ Gray II).
|
|
347
335
|
|
348
336
|
== License
|
349
337
|
|
350
|
-
Copyright (c)
|
338
|
+
Copyright (c) 2013 Ryan Grove <ryan@wonko.com>
|
351
339
|
|
352
340
|
Licensed under the GNU General Public License version 2.0.
|
353
341
|
|
data/lib/larch.rb
CHANGED
data/lib/larch/imap.rb
CHANGED
@@ -143,6 +143,9 @@ class IMAP
|
|
143
143
|
|
144
144
|
# Gmail doesn't allow folders with leading or trailing whitespace.
|
145
145
|
name.strip! if @quirks[:gmail]
|
146
|
+
|
147
|
+
#Rackspace namespaces everything under INDEX.
|
148
|
+
name.sub!(/^|inbox\./i, "INBOX.") if @quirks[:rackspace] && name != 'INBOX'
|
146
149
|
|
147
150
|
begin
|
148
151
|
@mailboxes.fetch(name) do
|
@@ -264,6 +267,10 @@ class IMAP
|
|
264
267
|
elsif host =~ /^imap(?:-ssl)?\.mail\.yahoo\.com$/
|
265
268
|
@quirks[:yahoo] = true
|
266
269
|
debug "looks like Yahoo! Mail"
|
270
|
+
|
271
|
+
elsif host =~ /emailsrvr\.com/
|
272
|
+
@quirks[:rackspace] = true
|
273
|
+
debug "looks like Rackspace Mail"
|
267
274
|
end
|
268
275
|
end
|
269
276
|
|
data/lib/larch/imap/mailbox.rb
CHANGED
@@ -243,8 +243,8 @@ class Mailbox
|
|
243
243
|
|
244
244
|
@db_mailbox.update(:uidvalidity => status['UIDVALIDITY'])
|
245
245
|
|
246
|
-
need_flag_scan = flag_range && flag_range.max && flag_range.min && flag_range.max - flag_range.min
|
247
|
-
need_full_scan = full_range && full_range.max && full_range.min && full_range.max - full_range.min
|
246
|
+
need_flag_scan = flag_range && flag_range.max && flag_range.min && flag_range.max - flag_range.min >= 0
|
247
|
+
need_full_scan = full_range && full_range.max && full_range.min && full_range.max - full_range.min >= 0
|
248
248
|
|
249
249
|
return unless need_flag_scan || need_full_scan
|
250
250
|
|
@@ -582,6 +582,7 @@ class Mailbox
|
|
582
582
|
end
|
583
583
|
|
584
584
|
yield data unless data.nil?
|
585
|
+
return
|
585
586
|
end
|
586
587
|
|
587
588
|
blocks = []
|
data/lib/larch/version.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
module Larch
|
2
2
|
APP_NAME = 'Larch'
|
3
|
-
APP_VERSION = '1.1.
|
3
|
+
APP_VERSION = '1.1.2'
|
4
4
|
APP_AUTHOR = 'Ryan Grove'
|
5
5
|
APP_EMAIL = 'ryan@wonko.com'
|
6
6
|
APP_URL = 'https://github.com/rgrove/larch/'
|
7
|
-
APP_COPYRIGHT = 'Copyright (c)
|
7
|
+
APP_COPYRIGHT = 'Copyright (c) 2013 Ryan Grove <ryan@wonko.com>. All ' <<
|
8
8
|
'rights reserved.'
|
9
9
|
end
|
metadata
CHANGED
@@ -1,70 +1,87 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: larch
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.2
|
4
5
|
prerelease:
|
5
|
-
version: 1.1.1
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Ryan Grove
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
prerelease: false
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2013-01-24 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: highline
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
18
|
+
requirements:
|
21
19
|
- - ~>
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.5'
|
24
22
|
type: :runtime
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: highline
|
28
23
|
prerelease: false
|
29
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
25
|
none: false
|
31
|
-
requirements:
|
26
|
+
requirements:
|
32
27
|
- - ~>
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
35
|
-
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.5'
|
30
|
+
- !ruby/object:Gem::Dependency
|
38
31
|
name: sequel
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.14'
|
38
|
+
type: :runtime
|
39
39
|
prerelease: false
|
40
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.14'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: sqlite3
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
41
49
|
none: false
|
42
|
-
requirements:
|
50
|
+
requirements:
|
43
51
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.3'
|
46
54
|
type: :runtime
|
47
|
-
version_requirements: *id003
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: trollop
|
50
55
|
prerelease: false
|
51
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.3'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: trollop
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
52
65
|
none: false
|
53
|
-
requirements:
|
66
|
+
requirements:
|
54
67
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.13'
|
57
70
|
type: :runtime
|
58
|
-
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.13'
|
59
78
|
description:
|
60
79
|
email: ryan@wonko.com
|
61
|
-
executables:
|
80
|
+
executables:
|
62
81
|
- larch
|
63
82
|
extensions: []
|
64
|
-
|
65
83
|
extra_rdoc_files: []
|
66
|
-
|
67
|
-
files:
|
84
|
+
files:
|
68
85
|
- HISTORY
|
69
86
|
- LICENSE
|
70
87
|
- README.rdoc
|
@@ -82,32 +99,28 @@ files:
|
|
82
99
|
- lib/larch/monkeypatch/net/imap.rb
|
83
100
|
- lib/larch/version.rb
|
84
101
|
- lib/larch.rb
|
85
|
-
homepage: https://github.com/rgrove/larch
|
102
|
+
homepage: https://github.com/rgrove/larch
|
86
103
|
licenses: []
|
87
|
-
|
88
104
|
post_install_message:
|
89
105
|
rdoc_options: []
|
90
|
-
|
91
|
-
require_paths:
|
106
|
+
require_paths:
|
92
107
|
- lib
|
93
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
109
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
110
|
+
requirements:
|
111
|
+
- - ! '>='
|
112
|
+
- !ruby/object:Gem::Version
|
98
113
|
version: 1.8.6
|
99
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
115
|
none: false
|
101
|
-
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version:
|
116
|
+
requirements:
|
117
|
+
- - ! '>='
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
105
120
|
requirements: []
|
106
|
-
|
107
121
|
rubyforge_project:
|
108
|
-
rubygems_version: 1.8.
|
122
|
+
rubygems_version: 1.8.24
|
109
123
|
signing_key:
|
110
124
|
specification_version: 3
|
111
125
|
summary: Larch copies messages from one IMAP server to another. Awesomely.
|
112
126
|
test_files: []
|
113
|
-
|