mms2r 1.1.12 → 2.0.0
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.txt +32 -2
- data/Manifest.txt +41 -79
- data/README.txt +50 -51
- data/Rakefile +3 -2
- data/conf/aliases.yml +8 -0
- data/conf/message.alltel.com.yml +14 -0
- data/conf/messaging.nextel.com.yml +10 -0
- data/conf/mms.att.net.yml +9 -0
- data/conf/mms.dobson.net.yml +4 -0
- data/conf/mms.luxgsm.lu.yml +8 -0
- data/conf/mms.myhelio.com.yml +12 -0
- data/conf/mms.netcom.no.yml +4 -0
- data/conf/mms.o2online.de.yml +8 -0
- data/conf/mms.three.co.uk.yml +15 -0
- data/conf/mms2r_media.yml +6 -0
- data/conf/orangemms.net.yml +13 -0
- data/conf/pm.sprint.com.yml +10 -0
- data/conf/pxt.vodafone.net.nz.yml +5 -0
- data/conf/tmomail.net.yml +16 -0
- data/conf/vzwpix.com.yml +8 -0
- data/dev_tools/anonymizer.rb +20 -0
- data/lib/mms2r.rb +19 -45
- data/lib/mms2r/media.rb +288 -300
- data/lib/mms2r/media/sprint.rb +189 -0
- data/test/fixtures/att-text-01.mail +27 -0
- data/test/fixtures/helio-image-01.mail +8 -8
- data/test/fixtures/helio-message-01.mail +327 -0
- data/test/fixtures/luxgsm-image-01.mail +388 -0
- data/test/fixtures/netcom-image-01.mail +556 -0
- data/test/fixtures/o2-de-image-01.mail +314 -0
- data/test/fixtures/orange-uk-image-01.mail +71 -0
- data/test/fixtures/pxt-image-01.mail +118 -0
- data/test/fixtures/sprint-broken-image-01.mail +1 -1
- data/test/fixtures/sprint-image-01.mail +211 -195
- data/test/fixtures/sprint-purged-image-01.mail +1 -1
- data/test/fixtures/sprint-two-images-01.mail +231 -198
- data/test/fixtures/sprint-video-01.mail +210 -195
- data/test/fixtures/three-uk-image-01.mail +1202 -0
- data/test/test_helper.rb +39 -0
- data/test/{test_mms2r_alltel_media.rb → test_message_alltel_com.rb} +13 -17
- data/test/{test_mms2r_nextel_media.rb → test_messaging_nextel_com.rb} +12 -19
- data/test/{test_mms2r_sprint_pcs_media.rb → test_messaging_sprintpcs_com.rb} +9 -10
- data/test/test_mms2r_media.rb +474 -316
- data/test/test_mms_att_net.rb +92 -0
- data/test/test_mms_dobson_net.rb +41 -0
- data/test/test_mms_luxgsm_lu.rb +50 -0
- data/test/test_mms_myhelio_com.rb +60 -0
- data/test/test_mms_netcom_no.rb +52 -0
- data/test/test_mms_o2online_de.rb +53 -0
- data/test/test_mms_three_co_uk.rb +42 -0
- data/test/test_orangemms_net.rb +100 -0
- data/test/test_pm_sprint_com.rb +201 -0
- data/test/test_pxt_vodafone_net_nz.rb +37 -0
- data/test/{test_mms2r_t_mobile_media.rb → test_tmomail_net.rb} +8 -19
- data/test/{test_mms2r_verizon_media.rb → test_vzwpix_com.rb} +34 -27
- data/vendor/plugins/mms2r/lib/autotest/mms2r.rb +16 -11
- metadata +128 -157
- data/conf/mms2r_alltel_media_ignore.yml +0 -13
- data/conf/mms2r_att_media_subject.yml +0 -3
- data/conf/mms2r_cingular_me_media_subject.yml +0 -3
- data/conf/mms2r_cingular_me_media_transform.yml +0 -7
- data/conf/mms2r_dobson_media_ignore.yml +0 -4
- data/conf/mms2r_helio_media_ignore.yml +0 -6
- data/conf/mms2r_media_ignore.yml +0 -5
- data/conf/mms2r_media_subject.yml +0 -3
- data/conf/mms2r_my_cingular_media_subject.yml +0 -3
- data/conf/mms2r_nextel_media_ignore.yml +0 -11
- data/conf/mms2r_orange_france_media_ignore.yml +0 -6
- data/conf/mms2r_orange_poland_media_subject.yml +0 -3
- data/conf/mms2r_sprint_media_ignore.yml +0 -7
- data/conf/mms2r_sprint_media_subject.yml +0 -3
- data/conf/mms2r_t_mobile_media_ignore.yml +0 -16
- data/conf/mms2r_verizon_media_ignore.yml +0 -4
- data/conf/mms2r_verizon_media_transform.yml +0 -5
- data/lib/mms2r/alltel_media.rb +0 -10
- data/lib/mms2r/att_media.rb +0 -13
- data/lib/mms2r/cingular_me_media.rb +0 -23
- data/lib/mms2r/dobson_media.rb +0 -13
- data/lib/mms2r/helio_media.rb +0 -20
- data/lib/mms2r/m_mode_media.rb +0 -13
- data/lib/mms2r/my_cingular_media.rb +0 -15
- data/lib/mms2r/nextel_media.rb +0 -17
- data/lib/mms2r/orange_france_media.rb +0 -10
- data/lib/mms2r/orange_poland_media.rb +0 -10
- data/lib/mms2r/sprint_media.rb +0 -182
- data/lib/mms2r/sprint_pcs_media.rb +0 -16
- data/lib/mms2r/t_mobile_media.rb +0 -21
- data/lib/mms2r/verizon_media.rb +0 -19
- data/lib/mms2r/vtext_media.rb +0 -16
- data/lib/vendor/text/format.rb +0 -1466
- data/lib/vendor/tmail.rb +0 -3
- data/lib/vendor/tmail/address.rb +0 -242
- data/lib/vendor/tmail/attachments.rb +0 -39
- data/lib/vendor/tmail/base64.rb +0 -71
- data/lib/vendor/tmail/config.rb +0 -69
- data/lib/vendor/tmail/encode.rb +0 -467
- data/lib/vendor/tmail/facade.rb +0 -552
- data/lib/vendor/tmail/header.rb +0 -914
- data/lib/vendor/tmail/info.rb +0 -35
- data/lib/vendor/tmail/loader.rb +0 -1
- data/lib/vendor/tmail/mail.rb +0 -447
- data/lib/vendor/tmail/mailbox.rb +0 -433
- data/lib/vendor/tmail/mbox.rb +0 -1
- data/lib/vendor/tmail/net.rb +0 -280
- data/lib/vendor/tmail/obsolete.rb +0 -135
- data/lib/vendor/tmail/parser.rb +0 -1522
- data/lib/vendor/tmail/port.rb +0 -377
- data/lib/vendor/tmail/quoting.rb +0 -131
- data/lib/vendor/tmail/scanner.rb +0 -41
- data/lib/vendor/tmail/scanner_r.rb +0 -263
- data/lib/vendor/tmail/stringio.rb +0 -277
- data/lib/vendor/tmail/tmail.rb +0 -1
- data/lib/vendor/tmail/utils.rb +0 -238
- data/test/fixtures/broken_from_spam.mail +0 -80
- data/test/fixtures/hello_world_empty_text.mail +0 -7
- data/test/fixtures/hello_world_mail_multipart.mail +0 -24
- data/test/fixtures/hello_world_mail_plain_no_content_type.mail +0 -7
- data/test/fixtures/hello_world_mail_plain_with_content_type.mail +0 -8
- data/test/fixtures/simple-with-two-images-two-texts.mail +0 -49
- data/test/fixtures/simple_image.mail +0 -19
- data/test/fixtures/simple_multipart_alternative.mail +0 -42
- data/test/test_mms2r_att_media.rb +0 -54
- data/test/test_mms2r_cingular_me_media.rb +0 -51
- data/test/test_mms2r_dobson_media.rb +0 -46
- data/test/test_mms2r_helio_media.rb +0 -49
- data/test/test_mms2r_m_mode_media.rb +0 -36
- data/test/test_mms2r_my_cingular_media.rb +0 -31
- data/test/test_mms2r_orange_france_media.rb +0 -53
- data/test/test_mms2r_orange_poland_media.rb +0 -42
- data/test/test_mms2r_sprint_media.rb +0 -269
- data/test/test_mms2r_vtext_media.rb +0 -28
data/History.txt
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
|
+
== 1.2.0 / 2008-01-17 (Skwisgaar Skwigelf - fastest guitarist alive)
|
|
2
|
+
|
|
3
|
+
* added support for pxt.vodafone.net.nz PXT New Zealand
|
|
4
|
+
* added support for mms.o2online.de O2 Germany
|
|
5
|
+
* added support for orangemms.net Orange UK
|
|
6
|
+
* added support for txt.att.net AT&T
|
|
7
|
+
* added support for mms.luxgsm.lu LUXGSM S.A.
|
|
8
|
+
* added support for mms.netcom.no NetCom (Norway)
|
|
9
|
+
* added support for mms.three.co.uk Hutchison 3G UK Ltd
|
|
10
|
+
* removed deprecated #get_number use #number
|
|
11
|
+
* removed deprecated #get_subject use #subject
|
|
12
|
+
* removed deprecated #get_body use #body
|
|
13
|
+
* removed deprecated #get_media use #default_media
|
|
14
|
+
* removed deprecated #get_text use #default_text
|
|
15
|
+
* removed deprecated #get_attachment use #attachment
|
|
16
|
+
* fixed error when Sprint content server responds 500
|
|
17
|
+
* better yaml configs
|
|
18
|
+
* moved TMail dependency from Rails ActionMailer SVN to 'official' Gem
|
|
19
|
+
* ::new greedily processes MMS unless otherwise specified as an initialize
|
|
20
|
+
option :process => :lazy
|
|
21
|
+
* logger moved to initialize option :logger => some_logger
|
|
22
|
+
* testing using mocks and stubs instead of duck raped Net::HTTP
|
|
23
|
+
* fixed typo in name of method #attachement to #attachment
|
|
24
|
+
* fixed broken downloading of Sprint videos
|
|
25
|
+
* default subject back to ""
|
|
26
|
+
* sprint subject
|
|
27
|
+
* new zeland
|
|
28
|
+
* heckled! & flogged!
|
|
29
|
+
* link to Trac
|
|
30
|
+
|
|
1
31
|
== 1.1.12 / 2007-10-21 (Dr. Ronald von Moldenberg - Endorsement specialist)
|
|
2
32
|
|
|
3
|
-
* fetch
|
|
33
|
+
* fetch original images from Sprint content server (Layton Wedgeworth)
|
|
4
34
|
* ignore Sprint messages when requested content has been purged from their
|
|
5
35
|
content server
|
|
6
36
|
|
|
@@ -39,7 +69,7 @@ Explosion)
|
|
|
39
69
|
|
|
40
70
|
== 1.1.7 / 2007-08-25 (Adam Nergal, friend of Skwisgaar, but not Pickles)
|
|
41
71
|
|
|
42
|
-
* Added
|
|
72
|
+
* Added support for Orange of Poland, Orange mmsemail.orange.pl (Zbigniew
|
|
43
73
|
Sobiecki)
|
|
44
74
|
* Cleaned up documentation modifiers
|
|
45
75
|
* Cleaned out non-Ruby code idioms
|
data/Manifest.txt
CHANGED
|
@@ -2,90 +2,51 @@ History.txt
|
|
|
2
2
|
Manifest.txt
|
|
3
3
|
README.txt
|
|
4
4
|
Rakefile
|
|
5
|
-
conf/
|
|
6
|
-
conf/
|
|
7
|
-
conf/
|
|
8
|
-
conf/
|
|
9
|
-
conf/
|
|
10
|
-
conf/
|
|
11
|
-
conf/
|
|
12
|
-
conf/
|
|
13
|
-
conf/
|
|
14
|
-
conf/
|
|
15
|
-
conf/
|
|
16
|
-
conf/
|
|
17
|
-
conf/
|
|
18
|
-
conf/
|
|
19
|
-
conf/
|
|
20
|
-
conf/
|
|
21
|
-
|
|
5
|
+
conf/aliases.yml
|
|
6
|
+
conf/message.alltel.com.yml
|
|
7
|
+
conf/messaging.nextel.com.yml
|
|
8
|
+
conf/mms.att.net.yml
|
|
9
|
+
conf/mms.dobson.net.yml
|
|
10
|
+
conf/mms.luxgsm.lu.yml
|
|
11
|
+
conf/mms.myhelio.com.yml
|
|
12
|
+
conf/mms.netcom.no.yml
|
|
13
|
+
conf/mms.o2online.de.yml
|
|
14
|
+
conf/mms.three.co.uk.yml
|
|
15
|
+
conf/mms2r_media.yml
|
|
16
|
+
conf/orangemms.net.yml
|
|
17
|
+
conf/pm.sprint.com.yml
|
|
18
|
+
conf/pxt.vodafone.net.nz.yml
|
|
19
|
+
conf/tmomail.net.yml
|
|
20
|
+
conf/vzwpix.com.yml
|
|
21
|
+
dev_tools/anonymizer.rb
|
|
22
22
|
dev_tools/debug_sprint_hpricot_parsing.rb
|
|
23
23
|
lib/mms2r.rb
|
|
24
|
-
lib/mms2r/alltel_media.rb
|
|
25
|
-
lib/mms2r/att_media.rb
|
|
26
|
-
lib/mms2r/cingular_me_media.rb
|
|
27
|
-
lib/mms2r/dobson_media.rb
|
|
28
|
-
lib/mms2r/helio_media.rb
|
|
29
|
-
lib/mms2r/m_mode_media.rb
|
|
30
24
|
lib/mms2r/media.rb
|
|
31
|
-
lib/mms2r/
|
|
32
|
-
lib/mms2r/nextel_media.rb
|
|
33
|
-
lib/mms2r/orange_france_media.rb
|
|
34
|
-
lib/mms2r/orange_poland_media.rb
|
|
35
|
-
lib/mms2r/sprint_media.rb
|
|
36
|
-
lib/mms2r/sprint_pcs_media.rb
|
|
37
|
-
lib/mms2r/t_mobile_media.rb
|
|
38
|
-
lib/mms2r/verizon_media.rb
|
|
39
|
-
lib/mms2r/vtext_media.rb
|
|
40
|
-
lib/vendor/text/format.rb
|
|
41
|
-
lib/vendor/tmail.rb
|
|
42
|
-
lib/vendor/tmail/address.rb
|
|
43
|
-
lib/vendor/tmail/attachments.rb
|
|
44
|
-
lib/vendor/tmail/base64.rb
|
|
45
|
-
lib/vendor/tmail/config.rb
|
|
46
|
-
lib/vendor/tmail/encode.rb
|
|
47
|
-
lib/vendor/tmail/facade.rb
|
|
48
|
-
lib/vendor/tmail/header.rb
|
|
49
|
-
lib/vendor/tmail/info.rb
|
|
50
|
-
lib/vendor/tmail/loader.rb
|
|
51
|
-
lib/vendor/tmail/mail.rb
|
|
52
|
-
lib/vendor/tmail/mailbox.rb
|
|
53
|
-
lib/vendor/tmail/mbox.rb
|
|
54
|
-
lib/vendor/tmail/net.rb
|
|
55
|
-
lib/vendor/tmail/obsolete.rb
|
|
56
|
-
lib/vendor/tmail/parser.rb
|
|
57
|
-
lib/vendor/tmail/port.rb
|
|
58
|
-
lib/vendor/tmail/quoting.rb
|
|
59
|
-
lib/vendor/tmail/scanner.rb
|
|
60
|
-
lib/vendor/tmail/scanner_r.rb
|
|
61
|
-
lib/vendor/tmail/stringio.rb
|
|
62
|
-
lib/vendor/tmail/tmail.rb
|
|
63
|
-
lib/vendor/tmail/utils.rb
|
|
25
|
+
lib/mms2r/media/sprint.rb
|
|
64
26
|
test/fixtures/alltel-image-01.mail
|
|
65
27
|
test/fixtures/att-image-01.mail
|
|
66
28
|
test/fixtures/att-image-02.mail
|
|
67
|
-
test/fixtures/
|
|
29
|
+
test/fixtures/att-text-01.mail
|
|
68
30
|
test/fixtures/cingularme-text-01.mail
|
|
69
31
|
test/fixtures/cingularme-text-02.mail
|
|
70
32
|
test/fixtures/dobson-image-01.mail
|
|
71
33
|
test/fixtures/dot.jpg
|
|
72
34
|
test/fixtures/helio-image-01.mail
|
|
73
|
-
test/fixtures/
|
|
74
|
-
test/fixtures/
|
|
75
|
-
test/fixtures/hello_world_mail_plain_no_content_type.mail
|
|
76
|
-
test/fixtures/hello_world_mail_plain_with_content_type.mail
|
|
35
|
+
test/fixtures/helio-message-01.mail
|
|
36
|
+
test/fixtures/luxgsm-image-01.mail
|
|
77
37
|
test/fixtures/mmode-image-01.mail
|
|
78
38
|
test/fixtures/mycingular-image-01.mail
|
|
39
|
+
test/fixtures/netcom-image-01.mail
|
|
79
40
|
test/fixtures/nextel-image-01.mail
|
|
80
41
|
test/fixtures/nextel-image-02.mail
|
|
81
42
|
test/fixtures/nextel-image-03.mail
|
|
82
43
|
test/fixtures/nextel-image-04.mail
|
|
44
|
+
test/fixtures/o2-de-image-01.mail
|
|
45
|
+
test/fixtures/orange-uk-image-01.mail
|
|
83
46
|
test/fixtures/orangefrance-text-and-image.mail
|
|
84
47
|
test/fixtures/orangepoland-text-01.mail
|
|
85
48
|
test/fixtures/orangepoland-text-02.mail
|
|
86
|
-
test/fixtures/
|
|
87
|
-
test/fixtures/simple_image.mail
|
|
88
|
-
test/fixtures/simple_multipart_alternative.mail
|
|
49
|
+
test/fixtures/pxt-image-01.mail
|
|
89
50
|
test/fixtures/sprint-broken-image-01.mail
|
|
90
51
|
test/fixtures/sprint-image-01.mail
|
|
91
52
|
test/fixtures/sprint-pcs-text-01.mail
|
|
@@ -94,6 +55,7 @@ test/fixtures/sprint-text-01.mail
|
|
|
94
55
|
test/fixtures/sprint-two-images-01.mail
|
|
95
56
|
test/fixtures/sprint-video-01.mail
|
|
96
57
|
test/fixtures/sprint.mov
|
|
58
|
+
test/fixtures/three-uk-image-01.mail
|
|
97
59
|
test/fixtures/tmobile-image-01.mail
|
|
98
60
|
test/fixtures/tmobile-image-02.mail
|
|
99
61
|
test/fixtures/verizon-image-01.mail
|
|
@@ -102,21 +64,21 @@ test/fixtures/verizon-text-01.mail
|
|
|
102
64
|
test/fixtures/verizon-video-01.mail
|
|
103
65
|
test/fixtures/vtext-text-01.mail
|
|
104
66
|
test/test_helper.rb
|
|
105
|
-
test/
|
|
106
|
-
test/
|
|
107
|
-
test/
|
|
108
|
-
test/test_mms2r_dobson_media.rb
|
|
109
|
-
test/test_mms2r_helio_media.rb
|
|
110
|
-
test/test_mms2r_m_mode_media.rb
|
|
67
|
+
test/test_message_alltel_com.rb
|
|
68
|
+
test/test_messaging_nextel_com.rb
|
|
69
|
+
test/test_messaging_sprintpcs_com.rb
|
|
111
70
|
test/test_mms2r_media.rb
|
|
112
|
-
test/
|
|
113
|
-
test/
|
|
114
|
-
test/
|
|
115
|
-
test/
|
|
116
|
-
test/
|
|
117
|
-
test/
|
|
118
|
-
test/
|
|
119
|
-
test/
|
|
120
|
-
test/
|
|
71
|
+
test/test_mms_att_net.rb
|
|
72
|
+
test/test_mms_dobson_net.rb
|
|
73
|
+
test/test_mms_luxgsm_lu.rb
|
|
74
|
+
test/test_mms_myhelio_com.rb
|
|
75
|
+
test/test_mms_netcom_no.rb
|
|
76
|
+
test/test_mms_o2online_de.rb
|
|
77
|
+
test/test_mms_three_co_uk.rb
|
|
78
|
+
test/test_orangemms_net.rb
|
|
79
|
+
test/test_pm_sprint_com.rb
|
|
80
|
+
test/test_pxt_vodafone_net_nz.rb
|
|
81
|
+
test/test_tmomail_net.rb
|
|
82
|
+
test/test_vzwpix_com.rb
|
|
121
83
|
vendor/plugins/mms2r/lib/autotest/discover.rb
|
|
122
84
|
vendor/plugins/mms2r/lib/autotest/mms2r.rb
|
data/README.txt
CHANGED
|
@@ -1,67 +1,63 @@
|
|
|
1
1
|
= mms2r
|
|
2
2
|
|
|
3
|
-
http://mms2r.rubyforge.org/
|
|
3
|
+
http://mms2r.rubyforge.org/
|
|
4
|
+
http://rubyforge.org/tracker/?group_id=3065
|
|
4
5
|
|
|
5
6
|
== DESCRIPTION:
|
|
6
7
|
|
|
7
8
|
MMS2R is a library that decodes the parts of an MMS message to disk while
|
|
8
|
-
stripping out advertising injected by the
|
|
9
|
+
stripping out advertising injected by the mobile carriers. MMS messages are
|
|
9
10
|
multipart email and the carriers often inject branding into these messages. Use
|
|
10
11
|
MMS2R if you want to get at the real user generated content from a MMS without
|
|
11
12
|
having to deal with the cruft from the carriers.
|
|
12
13
|
|
|
13
|
-
If MMS2R is not aware of a particular carrier no extra processing is done
|
|
14
|
-
|
|
14
|
+
If MMS2R is not aware of a particular carrier no extra processing is done to the
|
|
15
|
+
MMS other than decoding and consolidating its media.
|
|
15
16
|
|
|
16
|
-
Contact the author to add additional carriers to be processed by the
|
|
17
|
-
|
|
17
|
+
Contact the author to add additional carriers to be processed by the library.
|
|
18
|
+
Suggestions and patches appreciated and welcomed!
|
|
18
19
|
|
|
19
20
|
Corpus of carriers currently processed by MMS2R:
|
|
20
21
|
|
|
21
|
-
* Alltel
|
|
22
|
-
* AT&T
|
|
23
|
-
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* Verizon
|
|
22
|
+
* Alltel: message.alltel.com
|
|
23
|
+
* AT&T/Cingular/Legacy: mms.att.net, txt.att.net, mmode.com, mms.mycingular.com,
|
|
24
|
+
cingularme.com
|
|
25
|
+
* Dobson/Cellular One: mms.dobson.net
|
|
26
|
+
* Helio: mms.myhelio.com
|
|
27
|
+
* Hutchison 3G UK Ltd: mms.three.co.uk
|
|
28
|
+
* LUXGSM S.A.: mms.luxgsm.lu
|
|
29
|
+
* NetCom (Norway): mms.netcom.no
|
|
30
|
+
* Nextel: messaging.nextel.com
|
|
31
|
+
* O2 Germany: mms.o2online.de
|
|
32
|
+
* Orange & Regional Oranges: orangemms.net, mmsemail.orange.pl, orange.fr
|
|
33
|
+
* PXT New Zealand: pxt.vodafone.net.nz
|
|
34
|
+
* Sprint: pm.sprint.com, messaging.sprintpcs.com
|
|
35
|
+
* T-Mobile: tmomail.net
|
|
36
|
+
* Verizon: vzwpix.com, vtext.com
|
|
36
37
|
|
|
37
38
|
== FEATURES
|
|
38
39
|
|
|
39
40
|
* #default_media and #default_text methods return a File that can be used in
|
|
40
41
|
attachment_fu
|
|
42
|
+
* #process supports blocks to for enumerating over the content of the MMS
|
|
43
|
+
* #process can be made lazy when :process => :lazy is passed to new
|
|
44
|
+
* logging is enabled when :logger => your_logger is passed to new
|
|
41
45
|
|
|
42
46
|
== SYNOPSIS:
|
|
43
47
|
|
|
44
|
-
# required to use the MMS2R gem proper
|
|
45
48
|
require 'rubygems'
|
|
46
49
|
require 'mms2r'
|
|
47
50
|
|
|
48
51
|
# required for the example
|
|
49
52
|
require 'tmail'
|
|
50
53
|
require 'fileutils'
|
|
51
|
-
require 'logger'
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
email = TMail::Mail.parse(IO.readlines("sample-MMS.file").join)
|
|
56
|
-
mms = MMS2R::Media.create(email,Logger.new(STDOUT))
|
|
55
|
+
mail = TMail::Mail.parse(IO.readlines("sample-MMS.file").join)
|
|
56
|
+
mms = MMS2R::Media.new(mail)
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
# writes the user generated media to disk in a temporary subdirectory
|
|
60
|
-
mms.process
|
|
58
|
+
puts "MMS has default carrier subject" if mms.subject.empty?
|
|
61
59
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
# access the senders phone number
|
|
60
|
+
# access the sender's phone number
|
|
65
61
|
puts "MMS was from phone #{mms.number}"
|
|
66
62
|
|
|
67
63
|
# most MMS are either image or video, default_media will return the largest
|
|
@@ -69,7 +65,7 @@ Corpus of carriers currently processed by MMS2R:
|
|
|
69
65
|
file = mms.default_media
|
|
70
66
|
puts "MMS had a media: #{file.inspect}" unless file.nil?
|
|
71
67
|
|
|
72
|
-
#
|
|
68
|
+
# finds the largest (non-advertising) text found
|
|
73
69
|
file = mms.default_text
|
|
74
70
|
puts "MMS had some text: #{file.inspect}" unless file.nil?
|
|
75
71
|
|
|
@@ -81,28 +77,33 @@ Corpus of carriers currently processed by MMS2R:
|
|
|
81
77
|
mms.media['text/plain'].each {|f| puts "#{f}"}
|
|
82
78
|
|
|
83
79
|
# print the text (assumes MMS had text)
|
|
84
|
-
text = IO.readlines(mms.media['text/plain']
|
|
80
|
+
text = IO.readlines(mms.media['text/plain'].first).join
|
|
85
81
|
puts text
|
|
86
82
|
|
|
87
83
|
# save the image (assumes MMS had a jpeg)
|
|
88
|
-
FileUtils.cp mms.media['image/jpeg']
|
|
89
|
-
|
|
90
|
-
puts "does the MMS have video? #{!mms.media['video/quicktime'].nil?}"
|
|
84
|
+
FileUtils.cp mms.media['image/jpeg'].first, '/some/where/useful', :verbose => true
|
|
91
85
|
|
|
92
|
-
|
|
93
|
-
mms.purge
|
|
86
|
+
puts "does the MMS have quicktime video? #{!mms.media['video/quicktime'].nil?}"
|
|
94
87
|
|
|
95
88
|
# Block support, process and receive all media types of video.
|
|
96
|
-
# Purge is called at the conclusion of the block so be sure
|
|
97
|
-
# to do something with the bits you are looking for
|
|
98
89
|
mms.process do |media_type, files|
|
|
99
|
-
# assumes a Clip model
|
|
90
|
+
# assumes a Clip model that is an AttachmentFu
|
|
100
91
|
Clip.create(:uploaded_data => files.first, :title => "From phone") if media_type =~ /video/
|
|
101
92
|
end
|
|
102
93
|
|
|
94
|
+
# Another AttachmentFu example, Picture model is an AttachmentFu
|
|
95
|
+
picture = Picture.new
|
|
96
|
+
picture.title = mms.subject
|
|
97
|
+
picture.uploaded_data = mms.default_media
|
|
98
|
+
picture.save!
|
|
99
|
+
|
|
100
|
+
#remove all the media that was put to temporary disk
|
|
101
|
+
mms.purge
|
|
102
|
+
|
|
103
103
|
== REQUIREMENTS:
|
|
104
104
|
|
|
105
105
|
* Hpricot
|
|
106
|
+
* TMail
|
|
106
107
|
|
|
107
108
|
== INSTALL:
|
|
108
109
|
|
|
@@ -110,16 +111,14 @@ Corpus of carriers currently processed by MMS2R:
|
|
|
110
111
|
|
|
111
112
|
== CONTRIBUTE:
|
|
112
113
|
|
|
113
|
-
If you contribute a patch that
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
is ZenTest autotest discovery enabled so running autotest in the
|
|
118
|
-
root of the project is very helpful during development.
|
|
114
|
+
If you contribute a patch that is accepted then you'll get developer rights
|
|
115
|
+
for the project on RubyForge. Please ensure your work includes 100% test
|
|
116
|
+
converage. The library is ZenTest autotest discovery enabled so running
|
|
117
|
+
autotest in the root of the project is very helpful during development.
|
|
119
118
|
|
|
120
119
|
== Authors
|
|
121
120
|
|
|
122
|
-
Copyright (c) 2007 by Mike Mondragon (blog[http://blog.mondragon.cc/])
|
|
121
|
+
Copyright (c) 2007-2008 by Mike Mondragon (blog[http://blog.mondragon.cc/])
|
|
123
122
|
|
|
124
123
|
MMS2R's Flickr page[http://www.flickr.com/photos/8627919@N05/]
|
|
125
124
|
|
|
@@ -133,7 +132,7 @@ MMS2R's Flickr page[http://www.flickr.com/photos/8627919@N05/]
|
|
|
133
132
|
|
|
134
133
|
(The MIT License)
|
|
135
134
|
|
|
136
|
-
Copyright (c) 2007 Mike Mondragon (mikemondragon@gmail.com).
|
|
135
|
+
Copyright (c) 2007, 2008 Mike Mondragon (mikemondragon@gmail.com).
|
|
137
136
|
All rights reserved.
|
|
138
137
|
|
|
139
138
|
Permission is hereby granted, free of charge, to any person obtaining
|
data/Rakefile
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
require 'rubygems'
|
|
4
4
|
require 'hoe'
|
|
5
|
+
|
|
5
6
|
begin
|
|
6
7
|
require 'rcov/rcovtask'
|
|
7
8
|
rescue LoadError
|
|
8
9
|
end
|
|
9
10
|
|
|
10
|
-
$LOAD_PATH.unshift
|
|
11
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), "lib")
|
|
11
12
|
require 'mms2r'
|
|
12
13
|
|
|
13
14
|
Hoe.new('mms2r', MMS2R::Media::VERSION) do |p|
|
|
@@ -19,7 +20,7 @@ Hoe.new('mms2r', MMS2R::Media::VERSION) do |p|
|
|
|
19
20
|
p.url = p.paragraphs_of('README.txt', 1).first.strip
|
|
20
21
|
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
|
21
22
|
p.extra_deps << ['hpricot', '>= 0.6.0']
|
|
22
|
-
p.extra_deps << ['
|
|
23
|
+
p.extra_deps << ['tmail', '>= 1.2.1']
|
|
23
24
|
p.clean_globs << 'coverage'
|
|
24
25
|
end
|
|
25
26
|
|
data/conf/aliases.yml
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
ignore:
|
|
3
|
+
text/plain:
|
|
4
|
+
- /^This is an MMS message. 20\d\d Sprint Nextel. All rights reserved./
|
|
5
|
+
- /^This is an MMS message. Please go to http:\/\/mms.nextel.com\/mms\/anon\/do\/legacy\/viewDirect/
|
|
6
|
+
- /^This is a multi-part message in MIME format./
|
|
7
|
+
text/html:
|
|
8
|
+
- /^<html><body>\s+<center>This is an MMS message. <br><center> 20\d\d Sprint Nextel. All rights reserved<\/center><br><img/m
|
|
9
|
+
- /^<html><body>\s+This is an MMS message. <br><center> 20\d\d Sprint Nextel. All rights reserved/m
|
|
10
|
+
- /^<html><body>\s+This is an MMS message. Please go to <a href="http:\/\/mms.nextel.com\/mms\/anon\/do\/legacy\/viewDirect/m
|