feed2imap 1.3.1 → 1.3.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9fb49a362fe928d9110966a05eb10818817251e4e162845d2760c6318b8de0e2
4
- data.tar.gz: 3790225dff5442b61e3099221c58cfb9d73b3b72dfa3c2213ceebb8c9b42dbac
3
+ metadata.gz: 6a8d75ff963e56a991f8180012db653147c9e2b4520565916c94083ad160f3b6
4
+ data.tar.gz: 68992f2ae03c5f3c29763c4fd2becb2912e94c8d47d607230b0ec21b40c9b136
5
5
  SHA512:
6
- metadata.gz: '09010a59e0f460df3b6ebab675a6d2d09f82368043b999bdc95570f2c899f1d1ef02303f128e0c1419ae8a73a0b3e6b79b79527f8c1a99e4b5f9046fc7aecf9b'
7
- data.tar.gz: 38cb3888369396fac6e0656a0eb53bab2ff2add0e383c4fe4b97653603e8deae716831fa30793dfffef35e0b5d6106643c0d3cd42c068045e05e96e241b84f41
6
+ metadata.gz: 676f9c559b6ff084c3da469a8df713677b65399702c32e8e995f14f0b5f5de818ca50b54c1814034aa9b07722c130e48357d012f2110b154913d0742c085a45c
7
+ data.tar.gz: 38dcbc31f225873dbf22907682edbd7e7114e10a95ffb30bdf335f459849910e34052326202181e1b37a740c801b1dc7c1ca05d614df34ca71a55b7a61103fc6
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ task :default => [:test]
9
9
 
10
10
  PKG_NAME = 'feed2imap'
11
11
  PKG_VERSION = Feed2Imap::VERSION
12
- PKG_FILES = [ 'ChangeLog', 'README', 'COPYING', 'setup.rb', 'Rakefile']
12
+ PKG_FILES = [ 'ChangeLog', 'README', 'COPYING', 'Rakefile']
13
13
  Find.find('bin/', 'lib/', 'test/', 'data/') do |f|
14
14
  if FileTest.directory?(f) and f =~ /\.svn/
15
15
  Find.prune
@@ -40,7 +40,7 @@ class F2IConfig
40
40
  # Load the configuration from the IO stream
41
41
  # TODO should do some sanity check on the data read.
42
42
  def initialize(io)
43
- @conf = YAML::load(io)
43
+ @conf = YAML::load(io, aliases: true)
44
44
  @cache = @conf['cache'] || DEFCACHE
45
45
  @dumpdir = @conf['dumpdir'] || nil
46
46
  @conf['feeds'] ||= []
@@ -153,8 +153,16 @@ class Feed2Imap
153
153
  outh = Thread::new do
154
154
  output = stdout.read
155
155
  end
156
+ err = nil
157
+ errth = Thread::new do
158
+ err = stderr.read.chomp
159
+ end
156
160
  inth.join
157
161
  outh.join
162
+ errth.join
163
+ err.lines do |e|
164
+ @logger.warn(e.chomp)
165
+ end
158
166
  s = output
159
167
  if $? && $?.exitstatus != 0
160
168
  @logger.warn("Filter command for #{feed.name} exited with status #{$?.exitstatus}. Output might be corrupted !")
@@ -96,7 +96,6 @@ def item_to_mail(config, item, id, updated, from = 'Feed2Imap', inline_images =
96
96
  # inline images as attachments
97
97
  imgs = []
98
98
  if inline_images
99
- cids = []
100
99
  htmlpart.body.gsub!(/(<img[^>]+)src="(\S+?\/([^\/]+?\.(png|gif|jpe?g)))"([^>]*>)/i) do |match|
101
100
  # $2 contains url, $3 the image name, $4 the image extension
102
101
  begin
@@ -1,3 +1,3 @@
1
1
  class Feed2Imap
2
- VERSION = "1.3.1"
2
+ VERSION = "1.3.2"
3
3
  end
@@ -0,0 +1,41 @@
1
+ require 'test/unit'
2
+ require 'feed2imap'
3
+ require 'mocha/test_unit'
4
+
5
+
6
+ class ItemToMailTest < Test::Unit::TestCase
7
+
8
+ def jpg
9
+ # a 1x1 white pixel
10
+ "\xFF\xD8\xFF\xE0\u0000\u0010JFIF\u0000\u0001\u0001\u0000\u0000\u0001\u0000\u0001\u0000\u0000\xFF\xDB\u0000C\u0000\u0003\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0004\u0006\u0004\u0004\u0004\u0004\u0004\b\u0006\u0006\u0005\u0006\t\b\n\n\t\b\t\t\n\f\u000F\f\n\v\u000E\v\t\t\r\u0011\r\u000E\u000F\u0010\u0010\u0011\u0010\n\f\u0012\u0013\u0012\u0010\u0013\u000F\u0010\u0010\u0010\xFF\xC0\u0000\v\b\u0000\u0001\u0000\u0001\u0001\u0001\u0011\u0000\xFF\xC4\u0000\u0014\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\xFF\xC4\u0000\u0014\u0010\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\xFF\xDA\u0000\b\u0001\u0001\u0000\u0000?\u0000T\xDF\xFF\xD9"
11
+ end
12
+
13
+ def jpeg_base64
14
+ # base64 encoding of the image in #jpg above
15
+ "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQE\nBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/\nwAALCAABAAEBAREA/8QAFAABAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAA\nAAAAAAAAAAAAAAD/2gAIAQEAAD8AVN//2Q==\n"
16
+ end
17
+
18
+ def config
19
+ F2IConfig.new(StringIO.new("{}"))
20
+ end
21
+
22
+ def new_item
23
+ feed = FeedParser::Feed.new
24
+ feed.instance_variable_set("@title", "Some blog")
25
+ feed.instance_variable_set("@link", "http://www.example.com/")
26
+ item = FeedParser::FeedItem.new
27
+ item.instance_variable_set("@feed", feed)
28
+ item.title = "Some post"
29
+ item
30
+ end
31
+
32
+ def test_img
33
+ id = "abcd1234"
34
+ item = new_item
35
+ item.content = '<img src="http://www.example.com/pixel.jpg"/>'
36
+ HTTPFetcher.any_instance.expects(:fetch).with("http://www.example.com/pixel.jpg", anything).returns(jpg)
37
+ mail = item_to_mail(config, item, id, true, "feed2imap", true, false)
38
+ assert_match %r{<img src="data:image/jpg;base64,#{jpeg_base64}"/>}, mail.to_s
39
+ end
40
+
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feed2imap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Nussbaum
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-15 00:00:00.000000000 Z
11
+ date: 2022-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-feedparser
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.1.4
41
41
  description: RSS/Atom feed aggregator
42
- email:
42
+ email:
43
43
  executables:
44
44
  - feed2imap
45
45
  - feed2imap-cleaner
@@ -74,7 +74,6 @@ files:
74
74
  - lib/feed2imap/rexml_settings.rb
75
75
  - lib/feed2imap/sgml-parser.rb
76
76
  - lib/feed2imap/version.rb
77
- - setup.rb
78
77
  - test/maildir/cur/1376317520.15784_1.debian:2,S
79
78
  - test/maildir/cur/1376317520.15789_1.debian:2,S
80
79
  - test/maildir/cur/1376319137.17850_1.debian:2,
@@ -83,11 +82,12 @@ files:
83
82
  - test/tc_cache.rb
84
83
  - test/tc_config.rb
85
84
  - test/tc_httpfetcher.rb
85
+ - test/tc_itemtomail.rb
86
86
  - test/tc_maildir.rb
87
- homepage:
87
+ homepage:
88
88
  licenses: []
89
89
  metadata: {}
90
- post_install_message:
90
+ post_install_message:
91
91
  rdoc_options: []
92
92
  require_paths:
93
93
  - lib
@@ -102,8 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  requirements: []
105
- rubygems_version: 3.3.5
106
- signing_key:
105
+ rubygems_version: 3.3.15
106
+ signing_key:
107
107
  specification_version: 4
108
108
  summary: RSS/Atom feed aggregator
109
109
  test_files: []