gmail_omah 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7b3d137a0ba115d3aa8b2841ae80617101d6a620
4
+ data.tar.gz: fe998b964619967541401b13519d14b3f121256f
5
+ SHA512:
6
+ metadata.gz: 2222f785166ad7fcd7cab236936edebab8a45ec55df6c6b6f41c50c07fca75d8265756ebfae5f680b5f7231e79e89366f056382ec58ccfa0d6a9b6ee765b9ddc
7
+ data.tar.gz: d02bdc75f132243fff4bbf16c22c87e5a4e346c12cf656c28c8dc9ce525b47a67f3860fec4647dac36cf7d9de5e050dfcdbe8a7d036c953d5dbaf9f3a2ea7e74
checksums.yaml.gz.sig ADDED
@@ -0,0 +1,3 @@
1
+ T��;!tW �u�&�
2
+ ��~@_*�7�X�&� �l���0V�UVm̽�v%�R�.�`2�3��W&���V�dP�~NMO�����^a�tݘ((�?^�0���[�w0�6 sK���(�'�� ��jI]���C�V6�),̜�a�������?n�^X+�
3
+ ���ݷ�Z }*�f�t��6S�,<J��9�N|�έ���w鹠�0����/Z��h2�4{�6n1ڥ��1ZH��n �
data/lib/gmail_omah.rb ADDED
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: gmail_omah.rb
4
+
5
+ require 'gmail'
6
+ require 'omah'
7
+ require 'sps-pub'
8
+
9
+ class GmailOmah
10
+
11
+ def initialize(user: 'user', filepath: '.', mail: {}, sps: {}, email_address: nil)
12
+
13
+ @user = user
14
+ @mail = {user_name: '', password: '' }.merge mail
15
+
16
+ field = %i(user_name password).detect {|x| @mail[x].empty?}
17
+ return "GmailOmah: missing %s" % field if field
18
+
19
+ @sps = SPSPub.new(address: sps[:address], port: sps[:port]) if sps
20
+ @email_address = @mail[:user_name]
21
+
22
+ Dir.chdir filepath
23
+
24
+ end
25
+
26
+ def fetch_email()
27
+
28
+ gmail = Gmail.new(@mail[:user_name], @mail[:password])
29
+ a = gmail.inbox.emails
30
+
31
+ return 'no new messages' unless a.any?
32
+
33
+ # fields we are interested in:
34
+ #
35
+ # :from, :message_id, :to, :subject, :date, :body.decoded,
36
+ # :text_part.to_s, html_part.to_s
37
+
38
+ messages = a.map.with_index.inject([]) do |r, x|
39
+
40
+ gmail_msg, i = x
41
+ msg = gmail_msg.message
42
+
43
+ begin
44
+ r << {
45
+ id: msg.message_id,
46
+ from: msg.from.is_a?(Array) ? msg.from.join(', ') : msg.from,
47
+ to: msg.to.is_a?(Array) ? msg.to.join(', ') : msg.to,
48
+ subject: msg.subject,
49
+ date: msg.date.to_s,
50
+ body_text: (msg.text_part ? msg.text_part.body.decoded : msg.body.decoded),
51
+ body_html: (msg.html_part ? msg.html_part.body.decoded : msg.body.decoded),
52
+ attachments: msg.attachments.map {|x| [x.filename, x.body.decoded] }
53
+ }
54
+ rescue
55
+ puts 'warning: ' + ($!).inspect
56
+ end
57
+
58
+ r
59
+
60
+ end
61
+
62
+ o = Omah.new user: @user
63
+
64
+ # messages are stored to the file dynarexdaily.xml
65
+ o.store messages
66
+
67
+ m = 'message'
68
+ m += 's' if messages.length > 1
69
+ fqm = "email/new: %s received %s new %s" \
70
+ % [@email_address, messages.length, m]
71
+
72
+ @sps.notice fqm if @sps
73
+
74
+ a.each {|email| email.delete! }
75
+ fqm
76
+ end
77
+ end
data.tar.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ ���1J�x�T�:���N��K
2
+ �`�������X� j4��#@�J�Z�)}�nx���p�ÇBZW|�O� �9V���Kv��#K�/`�F���faz\�)$L�UP���B��ڲ�G�ޑ�nQQ&k�E�)�B#�+t.FK����~��rV��&�`ּr v���/L��خ6iH<�=�Ҁ?��\'l������h�R�F�K`?��s�56{dz3ض\�P��D>��C���g_�wm�`/Kg�M
metadata ADDED
@@ -0,0 +1,127 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gmail_omah
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE1MDUyMzE2MDk1M1oXDTE2MDUyMjE2MDk1M1owSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAMMPlcSK2Pm+nHG0n+DQTl8HARpdOixVPbki2myh6E5EZJLBn5rhAugwx0bs
19
+ mTgnMsyM2gZ494WgsmbuZzXBvKA7GQfA2LeYkV/sAd9ki1syHGDyK6PLtaU0SHvT
20
+ 7wnyLCbWjUgdBJKbl+nXSwU/z7xCYUvc30UaCY1NaoeKlTGSm8eXGeHtM0c6eZD0
21
+ Vi/BTohy1c6QyV5t7VaN5LB8+/ubwvxXjVpKFlULdi7Q+3XYHUP4CuoVegsz3DD9
22
+ CcKcCWWAbrZ94zli13zz0e4yQQaxINQUFVhl9N/SsPafUAQII5w3wGjNJr6poq78
23
+ aBuquw9xIXM+QzxWqhMiDX8+9qsCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUi/JZthkPwtL7sWIsEhtZSDfin0EwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEABBJu5Dw7
27
+ htsJzB6kUwFgV948Wt//0Bjha9gup+mIt7VNe6aaeilyCf9rfvTI0+Emf6WC1pUS
28
+ x11LNga0YrGaDTbt6030S//t/YluCNPUeHKd0vZmT256Xk/tfHtxYr69+96uIT0U
29
+ cucZerFoxm0jn8Yce0ygQ+bAQ3IRFxnGT2buRIzngyqUuuGGlKQ3mPVNwy1FAOB9
30
+ aET+ytxDyk1AxmL1pLbyQZn0jh19QXkjb+b7CJhmaDneGzeZhdaNF16kctADEAey
31
+ ndSRFD0AP3Aqx2T6Vl7mAQAlA2HfWcoImcyhITujG4RG/ucFJuXOE7REl/3kX9Z/
32
+ jVQ/sDgShsz7Ig==
33
+ -----END CERTIFICATE-----
34
+ date: 2015-05-23 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: omah
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.4'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.4.0
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.4'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.4.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: gmail
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.5'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 0.5.0
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.5'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.5.0
76
+ - !ruby/object:Gem::Dependency
77
+ name: sps-pub
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.4'
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 0.4.0
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '0.4'
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 0.4.0
96
+ description:
97
+ email: james@r0bertson.co.uk
98
+ executables: []
99
+ extensions: []
100
+ extra_rdoc_files: []
101
+ files:
102
+ - lib/gmail_omah.rb
103
+ homepage: https://github.com/jrobertson/gmail_omah
104
+ licenses:
105
+ - MIT
106
+ metadata: {}
107
+ post_install_message:
108
+ rdoc_options: []
109
+ require_paths:
110
+ - lib
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ requirements: []
122
+ rubyforge_project:
123
+ rubygems_version: 2.4.6
124
+ signing_key:
125
+ specification_version: 4
126
+ summary: Gmail gem + Omah (Offline Mail Helper) gem
127
+ test_files: []
metadata.gz.sig ADDED
Binary file