mms2r 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,11 @@
1
+ == 1.0.4 / 2007-04-09 (Metalocalypse)
2
+
3
+ * fix teardown in test_mms2r_sprint.rb (shanesbrain.net)
4
+ * clean up Net::HTTP in MMS2R::SprintMedia (shanesbrain.net)
5
+ * added accessor MMS2R::Media.media_dir
6
+ * fixed a nil issue with underlying tmp working dir
7
+ * added exception handling around Net::HTTP in MMS2R::SprintMedia
8
+
1
9
  == 1.0.3 / 2007-04-05 (Paper Cut)
2
10
 
3
11
  * Cleaned up packaging and errors in example found by Shane V. http://shanesbrain.net/
data/lib/mms2r/media.rb CHANGED
@@ -68,7 +68,6 @@ module MMS2R
68
68
  }
69
69
 
70
70
  class MMS2R::Media
71
-
72
71
  ##
73
72
  # TMail object that the media files were derived from.
74
73
  attr_reader :mail
@@ -86,6 +85,12 @@ module MMS2R
86
85
 
87
86
  attr_reader :carrier
88
87
 
88
+ ##
89
+ # Base working dir where media for a unique mms message are
90
+ # dropped
91
+
92
+ attr_reader :media_dir
93
+
89
94
  ##
90
95
  # Creates a new Media comprised of a mail
91
96
  # a logger. Logger is an instance attribute allowing
@@ -289,7 +294,7 @@ module MMS2R
289
294
  "#{Time.now.to_i}.#{self.class.default_ext(self.class.part_type?(part))}"
290
295
  end
291
296
 
292
- @@tmp_dir = File.join(Dir.tmpdir, ENV['USER'],'mms2r')
297
+ @@tmp_dir = File.join(Dir.tmpdir, (ENV['USER'].nil? ? '':ENV['USER']), 'mms2r')
293
298
 
294
299
  ##
295
300
  # Get the temporary directory where media files are written to.
@@ -19,7 +19,6 @@ module MMS2R
19
19
  # the URL to the media on Sprint's content server.
20
20
 
21
21
  def process_media(part)
22
- part.base64_decode
23
22
  if self.class.part_type?(part).eql?('text/plain')
24
23
  file_name = filename?(part)
25
24
  type, content = transform_text(part)
@@ -30,19 +29,22 @@ module MMS2R
30
29
  img = imgs[2].attributes['src']
31
30
  #here's where the content is, now download it
32
31
  url = URI.parse(img)
33
- req = Net::HTTP::Get.new(url.path)
34
- res = Net::HTTP.start(url.host, url.port) {|http|
35
- http.request(req)
32
+ begin
33
+ res = Net::HTTP.get_response(url)
34
+ file_name ="#{img.match(/\/RECIPIENT\/([^\/]+)\//)[1]}.#{self.class.default_ext(res.content_type)}"
35
+ type = res.content_type
36
+ content = res.body
37
+ rescue
38
+ @logger.error("#{self.class} processing error, #{$!}") unless @logger.nil?
39
+ end
40
+ end
41
+ unless type.nil?
42
+ file = File.join(msg_tmp_dir(),file_name)
43
+ @logger.info("#{self.class} writing file #{file}") unless @logger.nil?
44
+ File.open(file,'w'){ |f|
45
+ f.write(content)
36
46
  }
37
- file_name ="#{img.match(/\/RECIPIENT\/([^\/]+)\//)[1]}.#{self.class.default_ext(res.content_type)}"
38
- type = res.content_type
39
- content = res.body
40
47
  end
41
- file = File.join(msg_tmp_dir(),file_name)
42
- @logger.info("#{self.class} writing file #{file}") unless @logger.nil?
43
- File.open(file,'w'){ |f|
44
- f.write(content)
45
- }
46
48
  return type, file
47
49
  end
48
50
  end
data/lib/mms2r/version.rb CHANGED
@@ -6,7 +6,7 @@ module MMS2R
6
6
  ##
7
7
  # MMS2R Library version
8
8
 
9
- VERSION = '1.0.3'
9
+ VERSION = '1.0.4'
10
10
 
11
11
  end
12
12
  end
@@ -95,7 +95,7 @@ class MMS2RSprintTest < Test::Unit::TestCase
95
95
  @log.datetime_format = "%H:%M:%S"
96
96
  end
97
97
 
98
- def teadown; end
98
+ def teardown; end
99
99
 
100
100
  def test_simple_video
101
101
  mail = TMail::Mail.parse(load_mail('sprint-video-01.mail').join)
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: mms2r
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.0.3
7
- date: 2007-04-05 00:00:00 -07:00
6
+ version: 1.0.4
7
+ date: 2007-04-10 00:00:00 -07:00
8
8
  summary: Extract media from MMS
9
9
  require_paths:
10
10
  - lib