imap-filter 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.semver +1 -1
- data/Gemfile +1 -0
- data/Gemfile.lock +12 -10
- data/README.org +13 -4
- data/examples/default.imap +6 -0
- data/imap-filter.gemspec +6 -3
- data/lib/imap-filter.rb +1 -0
- data/lib/imap-filter/dsl.rb +1 -0
- data/lib/imap-filter/functionality.rb +2 -0
- data/lib/imap-filter/monkeypatches.rb +12 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c399442d61849b86b6ab7f58a8d8e5e8e01566f
|
4
|
+
data.tar.gz: d19e15efc6dc6fdd1ad25a547fd2abac18cc1d95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8d3cc7800137f896ba21e5cb838b222379673a8d968060f1c530af56a572a2b75650bccba54336294725cefd6ddaeaa36dca1eebc694149ecc3877b43bf2bb4
|
7
|
+
data.tar.gz: 76210364367885058ab7bb22adf455579383d60d580f598b53758b4b7e1ee11174c478034c1f6d18b91cfdd4ddad64ac6619e19f2436f5cafd8f06dff20a0afb
|
data/.semver
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -2,17 +2,18 @@ GEM
|
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
4
|
addressable (2.4.0)
|
5
|
+
aspector (0.14.0)
|
5
6
|
awesome_print (1.7.0)
|
6
7
|
binding_of_caller (0.7.2)
|
7
8
|
debug_inspector (>= 0.0.1)
|
8
9
|
builder (3.2.2)
|
9
|
-
byebug (9.0.
|
10
|
+
byebug (9.0.6)
|
10
11
|
coderay (1.1.1)
|
11
12
|
colorize (0.8.1)
|
12
13
|
debug_inspector (0.0.2)
|
13
14
|
descendants_tracker (0.0.4)
|
14
15
|
thread_safe (~> 0.3, >= 0.3.1)
|
15
|
-
diff-lcs (1.
|
16
|
+
diff-lcs (1.2.5)
|
16
17
|
docile (1.1.5)
|
17
18
|
faraday (0.9.2)
|
18
19
|
multipart-post (>= 1.2, < 3)
|
@@ -76,14 +77,14 @@ GEM
|
|
76
77
|
rake (11.3.0)
|
77
78
|
rdoc (3.12.2)
|
78
79
|
json (~> 1.4)
|
79
|
-
rspec (2.
|
80
|
-
rspec-core (~> 2.
|
81
|
-
rspec-expectations (~> 2.
|
82
|
-
rspec-mocks (~> 2.
|
83
|
-
rspec-core (2.
|
84
|
-
rspec-expectations (2.
|
85
|
-
diff-lcs (
|
86
|
-
rspec-mocks (2.
|
80
|
+
rspec (2.99.0)
|
81
|
+
rspec-core (~> 2.99.0)
|
82
|
+
rspec-expectations (~> 2.99.0)
|
83
|
+
rspec-mocks (~> 2.99.0)
|
84
|
+
rspec-core (2.99.2)
|
85
|
+
rspec-expectations (2.99.2)
|
86
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
87
|
+
rspec-mocks (2.99.4)
|
87
88
|
semver (1.0.1)
|
88
89
|
simplecov (0.12.0)
|
89
90
|
docile (~> 1.1.0)
|
@@ -100,6 +101,7 @@ PLATFORMS
|
|
100
101
|
ruby
|
101
102
|
|
102
103
|
DEPENDENCIES
|
104
|
+
aspector (~> 0)
|
103
105
|
awesome_print (~> 1)
|
104
106
|
bundler (~> 1)
|
105
107
|
colorize (~> 0)
|
data/README.org
CHANGED
@@ -223,7 +223,7 @@
|
|
223
223
|
to do is search a single field, like in this case, the From
|
224
224
|
field.
|
225
225
|
|
226
|
-
Others are obvios: to:, cc:, subject: will all work here.
|
226
|
+
Others are obvios: to:, cc:, subject: will all work here.no-expand
|
227
227
|
|
228
228
|
*** Environment variables
|
229
229
|
| Variable | Description |
|
@@ -279,9 +279,11 @@
|
|
279
279
|
|
280
280
|
** Release Notes and Known Issues
|
281
281
|
*** Release Notes
|
282
|
-
| Version | Breif
|
283
|
-
|
284
|
-
| v0.0.2 | Initial Release
|
282
|
+
| Version | Breif | Description |
|
283
|
+
|---------+------------------------+--------------------------------------------------------------------------------------------------------------------------------|
|
284
|
+
| v0.0.2 | Initial Release | |
|
285
|
+
| v0.0.3 | Fixed bug with timeout | On some lengthy remove copy/move operations, the source account can timeout. We do a simple NOOP to keep the connection alive. |
|
286
|
+
|
285
287
|
*** Known Issues
|
286
288
|
| Date | Description |
|
287
289
|
|------------+----------------------------------------------------------------|
|
@@ -319,3 +321,10 @@
|
|
319
321
|
acc.imap.fetch(1..2, 'BODY[TEXT]') -- the entire text, flags as well.
|
320
322
|
acc.imap.fetch(1..2, 'BODY[HEADER.FIELDS (SUBJECT)]')
|
321
323
|
:END:
|
324
|
+
|
325
|
+
|
326
|
+
:Syswrite:
|
327
|
+
IOError: closed stream
|
328
|
+
from 2.3.1/lib/ruby/2.3.0/openssl/buffering.rb:322:in `syswrite'
|
329
|
+
:END:
|
330
|
+
|
data/examples/default.imap
CHANGED
@@ -49,6 +49,12 @@ filter :neat, 'yahoo:NEAT', :unseen do
|
|
49
49
|
mark :seen
|
50
50
|
end
|
51
51
|
|
52
|
+
filter :science, 'yahoo:Wissenschaft', :unseen do
|
53
|
+
cp 'gmx:Lists/Wissenschaft'
|
54
|
+
mark :seen
|
55
|
+
end
|
56
|
+
|
57
|
+
|
52
58
|
filter :spam, 'gmx:INBOX', from: ['news.brgmedia.com', 'travel.hoteltravel-email.com'] do
|
53
59
|
delete
|
54
60
|
end
|
data/imap-filter.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: imap-filter 0.0.
|
5
|
+
# stub: imap-filter 0.0.3 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "imap-filter"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.3"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Fred Mitchell"]
|
14
|
-
s.date = "2016-
|
14
|
+
s.date = "2016-10-01"
|
15
15
|
s.description = "\n imap-filter is a Ruby implementation of an IMAP filtering application.\n it can handle multiple IMAP accounts, and create IMAP folders automatically\n where none exists.\n\n The imap-filter DSL makes it easy to filter. You can also do \"dry-runs\"\n to make sure what happens is what is expected."
|
16
16
|
s.email = "fred.mitchell@gmx.de"
|
17
17
|
s.executables = ["imap-filter"]
|
@@ -56,6 +56,7 @@ Gem::Specification.new do |s|
|
|
56
56
|
s.add_runtime_dependency(%q<text-table>, ["~> 1"])
|
57
57
|
s.add_runtime_dependency(%q<thor>, ["~> 0"])
|
58
58
|
s.add_runtime_dependency(%q<colorize>, ["~> 0"])
|
59
|
+
s.add_runtime_dependency(%q<aspector>, ["~> 0"])
|
59
60
|
s.add_development_dependency(%q<rspec>, ["~> 2"])
|
60
61
|
s.add_development_dependency(%q<yard>, ["~> 0"])
|
61
62
|
s.add_development_dependency(%q<rdoc>, ["~> 3"])
|
@@ -74,6 +75,7 @@ Gem::Specification.new do |s|
|
|
74
75
|
s.add_dependency(%q<text-table>, ["~> 1"])
|
75
76
|
s.add_dependency(%q<thor>, ["~> 0"])
|
76
77
|
s.add_dependency(%q<colorize>, ["~> 0"])
|
78
|
+
s.add_dependency(%q<aspector>, ["~> 0"])
|
77
79
|
s.add_dependency(%q<rspec>, ["~> 2"])
|
78
80
|
s.add_dependency(%q<yard>, ["~> 0"])
|
79
81
|
s.add_dependency(%q<rdoc>, ["~> 3"])
|
@@ -93,6 +95,7 @@ Gem::Specification.new do |s|
|
|
93
95
|
s.add_dependency(%q<text-table>, ["~> 1"])
|
94
96
|
s.add_dependency(%q<thor>, ["~> 0"])
|
95
97
|
s.add_dependency(%q<colorize>, ["~> 0"])
|
98
|
+
s.add_dependency(%q<aspector>, ["~> 0"])
|
96
99
|
s.add_dependency(%q<rspec>, ["~> 2"])
|
97
100
|
s.add_dependency(%q<yard>, ["~> 0"])
|
98
101
|
s.add_dependency(%q<rdoc>, ["~> 3"])
|
data/lib/imap-filter.rb
CHANGED
data/lib/imap-filter/dsl.rb
CHANGED
@@ -79,6 +79,7 @@ module ImapFilter
|
|
79
79
|
end
|
80
80
|
raw = fdat.attr['ENVELOPE'].email_header + fdat.attr[BODYTEXT]
|
81
81
|
dest_acc.imap.append dest_mbox, raw, fdat.attr['FLAGS']
|
82
|
+
acc.imap.noop # just to keep this account open TODO: we do not need a noop on every iteration
|
82
83
|
end
|
83
84
|
rescue => e
|
84
85
|
puts "ERROR: #{e} -- perhaps you did a move or delete operation before copy?".light_red
|
@@ -116,6 +117,7 @@ module ImapFilter
|
|
116
117
|
|
117
118
|
def mark *flags
|
118
119
|
puts " mark #{flags} in #{acc.name}".light_blue unless _options[:verbose] < 1
|
120
|
+
puts "DISCONNECTED".light_red if acc.imap.disconnected?
|
119
121
|
acc.imap.store seq, '+FLAGS.SILENT', flags unless seq.empty? or _options[:dryrun]
|
120
122
|
end
|
121
123
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imap-filter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fred Mitchell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semver
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: aspector
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rspec
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|