imap-filter 0.0.2 → 0.0.3
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 +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
|