ruport 0.4.21 → 0.4.23

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.
@@ -0,0 +1,32 @@
1
+ require "rubygems" rescue LoadError nil
2
+ require "ruport"
3
+
4
+ class SampleInvoiceReport < Ruport::Report
5
+
6
+ include Invoice
7
+
8
+ #optional
9
+ prepare { self.file = "foo.pdf" }
10
+
11
+ #mandatory
12
+ generate {
13
+ render_invoice do |i|
14
+ i.company_info = "Foo Inc.\n42 Rock Street\nNew Haven, CT"
15
+ i.customer_info = "Gregory Brown\ngregory.t.brown@gmail.com"
16
+ i.order_info = "Order ID: 18180\nCustomer ID: 6291\n" +
17
+ "Order Date: #{Date.today}"
18
+ i.data = [["Rock Collection","$25.00"],
19
+ ["Endless Sand Supply","$500.00"],
20
+ ["Fire Filled Pit","$800.00"]].to_table %w[item price]
21
+ i.comments = "Be sure to visit our website at www.iheartruport.com"
22
+ i.title = "Invoice for Gregory"
23
+ #i.active_plugin.paper = "A4"
24
+ end
25
+ }
26
+
27
+ #optional
28
+ cleanup { }
29
+
30
+ end
31
+
32
+ SampleInvoiceReport.run { |res| res.write }
@@ -14,7 +14,7 @@ module Ruport
14
14
 
15
15
  #begin; require 'rubygems'; rescue LoadError; nil end
16
16
 
17
- VERSION = "0.4.21"
17
+ VERSION = "0.4.23"
18
18
 
19
19
  # Ruports logging and error interface.
20
20
  # Can generate warnings or raise fatal errors
@@ -21,6 +21,11 @@ module Ruport::Data
21
21
  Table.new({:data => data.map { |r| r.to_a }}.merge(options))
22
22
  end
23
23
 
24
+ def method_missing(id,*args)
25
+ return as($1.to_sym) if id.to_s =~ /^to_(.*)/
26
+ super
27
+ end
28
+
24
29
  attr_reader :data
25
30
  def_delegators :@data, :each, :length, :[], :empty?
26
31
  end
@@ -1,5 +1,6 @@
1
1
  class Array
2
2
  def to_table(options={})
3
+ options = { :column_names => options } if options.kind_of? Array
3
4
  Ruport::Data::Table.new({:data => self}.merge(options))
4
5
  end
5
6
  end
@@ -16,6 +17,7 @@ module Ruport::Data
16
17
 
17
18
  def column_names=(other)
18
19
  @column_names = other.dup
20
+ map { |r| r.attributes = @column_names }
19
21
  end
20
22
 
21
23
  def eql?(other)
@@ -43,7 +45,11 @@ module Ruport::Data
43
45
  end
44
46
 
45
47
  def reorder!(*indices)
46
- @column_names = indices
48
+ @column_names = if indices.all? { |i| i.kind_of? Integer }
49
+ indices.map { |i| @column_names[i] }
50
+ else
51
+ indices
52
+ end
47
53
  @data.each { |r| r.reorder! *indices }; self
48
54
  end
49
55
 
@@ -51,6 +57,15 @@ module Ruport::Data
51
57
  dup.reorder! *indices
52
58
  end
53
59
 
60
+ def append_column(options={})
61
+ self.column_names += [options[:name]] if options[:name]
62
+ if block_given?
63
+ each { |r| r.data << yield(r) || options[:fill] }
64
+ else
65
+ each { |r| r.data << options[:fill] }
66
+ end
67
+ end
68
+
54
69
  def dup
55
70
  a = self.class.new(:data => @data, :column_names => @column_names)
56
71
  end
@@ -102,10 +117,5 @@ module Ruport::Data
102
117
  end
103
118
  end
104
119
 
105
- def method_missing(id,*args)
106
- return as($1.to_sym) if id.to_s =~ /^to_(.*)/
107
- super
108
- end
109
-
110
120
  end
111
121
  end
@@ -151,7 +151,7 @@ module Ruport
151
151
  options[:auto_render] = true unless options.has_key? :auto_render
152
152
 
153
153
 
154
- options[:data] = options[:data].dup
154
+ options[:data] = options[:data].dup if options[:data]
155
155
 
156
156
  options.each do |k,v|
157
157
  my_engine.send("#{k}=",v) if my_engine.respond_to? k
@@ -27,9 +27,10 @@ module Ruport
27
27
  Format::Engine.engine_classes[name] = klass
28
28
  end
29
29
 
30
- def data=(data)
31
- @data = data
32
- active_plugin.data = data.dup if active_plugin
30
+ def data=(stuff)
31
+ return unless stuff
32
+ @data = stuff
33
+ active_plugin.data = stuff.dup if active_plugin
33
34
  end
34
35
 
35
36
  def options=(opts)
@@ -55,7 +56,6 @@ module Ruport
55
56
 
56
57
  def render
57
58
  raise "No plugin specified" unless plugin
58
- raise "No data provided" unless data
59
59
  active_plugin.data = data.dup
60
60
  if active_plugin.respond_to? :init_plugin_helper
61
61
  active_plugin.init_plugin_helper(self)
@@ -97,12 +97,14 @@ module Ruport
97
97
  class Format::Engine::Invoice < Ruport::Format::Engine
98
98
 
99
99
  # order meta data
100
- attributes [:customer_info, :company_info]
100
+ attributes [ :customer_info, :company_info,
101
+ :comments, :order_info, :title]
101
102
 
102
103
  renderer do
103
104
  super
104
- build_company_header
105
- build_customer_header
105
+ build_headers
106
+ build_body
107
+ build_footer
106
108
  active_plugin.render_invoice
107
109
  end
108
110
 
@@ -16,12 +16,6 @@ module Ruport
16
16
 
17
17
  def plugin_name(name=nil); @name ||= name; end
18
18
 
19
- #def format_name
20
- # pattern = /Ruport::Format|Plugin/
21
- # @name ||=
22
- # self.name.gsub(pattern,"").downcase.delete(":").to_sym
23
- #end
24
-
25
19
  def renderer(render_type,&block)
26
20
  m = "render_#{render_type}".to_sym
27
21
  block ||= lambda { data }
@@ -164,31 +158,45 @@ module Ruport
164
158
 
165
159
  format_field_names { data.column_names }
166
160
 
167
- renderer :invoice do
168
- return unless defined? PDF::Writer
169
-
170
- pdf.start_page_numbering(500, 20, 8, :right)
171
-
172
- # order contents
173
- pdf.y = 620
174
-
175
- PDF::SimpleTable.new do |table|
176
- table.width = 450
177
- table.orientation = :center
178
- table.data = data
179
- table.show_lines = :outer
180
- table.column_order = data.column_names
181
- table.render_on(pdf)
182
- table.font_size = 12
161
+ renderer(:invoice) { pdf.render }
162
+
163
+ # Company Information in top lefthand corner
164
+ helper(:build_company_header) { |eng|
165
+ @tod = pdf.y
166
+ text_box(eng.company_info)
167
+ }
168
+
169
+ helper(:build_headers) { |eng|
170
+ build_company_header_helper(eng)
171
+ build_customer_header_helper(eng)
172
+ build_title_helper(eng)
173
+ build_order_header_helper(eng)
174
+ }
175
+
176
+ helper(:build_order_header) { |eng|
177
+ if eng.order_info
178
+ text_box(eng.order_info, :position => 350)
179
+ end
180
+ }
181
+
182
+ helper(:build_title) { |eng|
183
+ pdf.y = @tod
184
+ if eng.title
185
+ pdf.text eng.title, :left => 350, :font_size => 14
186
+ pdf.y -= 10
183
187
  end
184
-
185
-
188
+ }
189
+
190
+ helper(:build_footer) { |eng|
186
191
  # footer
187
192
  pdf.open_object do |footer|
188
193
  pdf.save_state
189
- pdf.stroke_color! Color::Black
194
+ pdf.stroke_color! Color::RGB::Black
190
195
  pdf.stroke_style! PDF::Writer::StrokeStyle::DEFAULT
191
-
196
+ if eng.comments
197
+ pdf.y -= 20
198
+ text_box eng.comments, :position => 110, :width => 400
199
+ end
192
200
  pdf.add_text_wrap( 50, 20, 200, "Printed at " +
193
201
  Time.now.strftime("%H:%M %d/%m/%Y"), 8)
194
202
 
@@ -196,20 +204,26 @@ module Ruport
196
204
  pdf.close_object
197
205
  pdf.add_object(footer, :all_pages)
198
206
  end
199
-
200
207
  pdf.stop_page_numbering(true, :current)
201
- pdf.render
208
+ }
209
+
210
+ helper(:build_body) do
211
+ pdf.start_page_numbering(500, 20, 8, :right)
212
+
213
+ # order contents
214
+ pdf.y = 620
215
+
216
+ PDF::SimpleTable.new do |table|
217
+ table.width = 450
218
+ table.orientation = :center
219
+ table.data = data
220
+ table.show_lines = :outer
221
+ table.column_order = data.column_names
222
+ table.render_on(pdf)
223
+ table.font_size = 12
224
+ end
202
225
  end
203
226
 
204
- # Company Information in top lefthand corner
205
- helper(:build_company_header) { |eng|
206
- text_box(eng.company_info)
207
- }
208
-
209
-
210
-
211
- helper(:build_order_helper) { }
212
-
213
227
  # Order details
214
228
  helper(:build_customer_header) { |eng|
215
229
  pdf.y -= 10
@@ -225,7 +239,7 @@ module Ruport
225
239
  table.show_headings = false
226
240
  table.show_lines = :outer
227
241
  table.shade_rows = :none
228
- table.width = options[:width] || 200
242
+ table.width = options[:width] || 200
229
243
  table.orientation = options[:orientation] || :right
230
244
  table.position = options[:position] || :left
231
245
  table.font_size = options[:font_size] || 10
@@ -139,7 +139,7 @@ module Ruport
139
139
 
140
140
  # Returns a Data::Table, even if in raw_data mode
141
141
  # Does not work with raw data if cache is enabled and filled
142
- def to_dataset
142
+ def to_table
143
143
  data_flag, @raw_data = @raw_data, false
144
144
  data = fetch; @raw_data = data_flag; return data
145
145
  end
@@ -165,8 +165,8 @@ module Ruport
165
165
  dbh.execute(query_text) do |sth|
166
166
  return unless sth.fetchable?
167
167
  results = sth.fetch_all
168
- data.fields = sth.column_names unless @raw_data
169
- results.each { |row| data << row }
168
+ data.column_names = sth.column_names unless @raw_data
169
+ results.each { |row| data << row.to_a }
170
170
  end
171
171
  end
172
172
  data
@@ -191,7 +191,7 @@ module Ruport
191
191
  else
192
192
  @statements.each { |query_text| data = query_data( query_text ) }
193
193
  end
194
- data.each { |r| yield(r) } if block_given? ; data
194
+ data.each { |r| yield(r) } if block_given?
195
195
  @cached_data = data if @cache_enabled
196
196
  return data
197
197
  end
@@ -8,7 +8,7 @@
8
8
  #load the needed standard libraries.
9
9
  %w[erb yaml date logger fileutils].each { |lib| require lib }
10
10
 
11
- require "ruport/mailer"
11
+ require "ruport/report/invoice"
12
12
  require "forwardable"
13
13
 
14
14
  module Ruport
@@ -0,0 +1,13 @@
1
+ module Ruport
2
+ class Report
3
+ module Invoice
4
+ def build_invoice
5
+ a = Ruport::Format.invoice_object(:plugin => :pdf)
6
+ yield(a); return a
7
+ end
8
+ def render_invoice(&block)
9
+ build_invoice(&block).render
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,4 +1,4 @@
1
- begin require 'rubygems'; rescue LoadError; nil end
1
+ require 'rubygems' rescue LoadError nil
2
2
  require 'ruport'
3
3
  require 'test/unit'
4
4
 
@@ -0,0 +1,26 @@
1
+ require 'rubygems' rescue LoadError nil
2
+ require "test/unit"
3
+
4
+ class SampleInvoiceReport < Ruport::Report
5
+ extend Invoice
6
+ end
7
+
8
+ class TestInvoice < Test::Unit::TestCase
9
+
10
+ def test_basic
11
+ inv = SampleInvoiceReport.build_invoice do |i|
12
+ i.company_info = "Foo Inc.\n42 Bar Street\nBaz, CT\n"
13
+ i.customer_info = "Gregory Brown\ngregory.t.brown@gmail.com"
14
+ i.data = [[1,2],[3,4]].to_table(%w[a b])
15
+ end
16
+ assert_nothing_raised { inv.render }
17
+ assert_nothing_raised {
18
+ SampleInvoiceReport.render_invoice do |i|
19
+ i.company_info = "Foo Inc.\n42 Bar Street\nBaz, CT\n"
20
+ i.customer_info = "Gregory Brown\ngregory.t.brown@gmail.com"
21
+ i.data = [[1,2],[3,4]].to_table(%w[a b])
22
+ end
23
+ }
24
+ end
25
+
26
+ end
@@ -44,6 +44,29 @@ class TestTable < Test::Unit::TestCase
44
44
  rows = [%w[a c], %w[d e]]
45
45
  table.each { |r| assert_equal rows.shift, r.data
46
46
  assert_equal %w[col1 col3], r.attributes }
47
+ a = [[1,2,3],[4,5,6]].to_table(%w[a b c]).reorder 2,0
48
+ rows = [[3,1],[6,4]]
49
+ a.each { |r| assert_equal rows.shift, r.data
50
+ assert_equal %w[c a], r.attributes }
51
+ assert_equal %w[c a], a.column_names
52
+ end
53
+
54
+ def test_append_column
55
+ a = [[1,2],[3,4],[5,6]].to_table(%w[a b])
56
+ a.append_column(:name => "c")
57
+ assert_equal [[1,2,nil],[3,4,nil],[5,6,nil]].to_table(%w[a b c]), a
58
+ a = [[1,2],[3,4],[5,6]].to_table
59
+ a.append_column
60
+ assert_equal [[1,2,nil],[3,4,nil],[5,6,nil]].to_table, a
61
+ a = [[1,2],[3,4],[5,6]].to_table(%w[a b])
62
+ a.append_column(:name => "c",:fill => "x")
63
+ assert_equal [[1,2,'x'],[3,4,'x'],[5,6,'x']].to_table(%w[a b c]), a
64
+ a.append_column(:name => "d") { |r| r.to_a.join("|") }
65
+ assert_equal(
66
+ [ [1,2,'x','1|2|x'],
67
+ [3,4,'x',"3|4|x"],
68
+ [5,6,'x','5|6|x']].to_table(%w[a b c d]), a)
69
+
47
70
  end
48
71
 
49
72
  def test_split
@@ -113,6 +136,12 @@ class TestTable < Test::Unit::TestCase
113
136
  :data => [[1,2],[3,4],[5,6]]
114
137
 
115
138
  assert_equal t, table
139
+
140
+ # test short form
141
+ table2 = [[1,2],[3,4],[5,6]].to_table %w[a b]
142
+
143
+ assert_equal table, table2
144
+
116
145
  end
117
146
 
118
147
  end
@@ -5,9 +5,8 @@ require "test/tc_sql_split"
5
5
  require "test/tc_query"
6
6
  require "test/tc_config"
7
7
  require "test/tc_report"
8
- #require "test/tc_data_set"
9
- #require "test/tc_data_row"
10
8
  require "test/tc_taggable"
11
9
  require "test/tc_record"
12
10
  require "test/tc_table"
13
11
  require "test/tc_set"
12
+ require "test/tc_invoice"
@@ -3953,3 +3953,279 @@ F, [2006-08-07T11:42:46.472732 #3996] FATAL -- : no block given!
3953
3953
  F, [2006-08-07T11:42:53.814580 #4004] FATAL -- : Missing host for mailer bar
3954
3954
  F, [2006-08-07T11:42:53.816233 #4004] FATAL -- : Missing DSN for source foo!
3955
3955
  F, [2006-08-07T11:42:53.858221 #4004] FATAL -- : no block given!
3956
+ F, [2006-08-08T00:30:09.499370 #8262] FATAL -- : Missing host for mailer bar
3957
+ F, [2006-08-08T00:30:09.531931 #8262] FATAL -- : Missing DSN for source foo!
3958
+ F, [2006-08-08T00:30:09.558609 #8262] FATAL -- : no block given!
3959
+ F, [2006-08-08T00:31:20.032958 #8270] FATAL -- : Missing host for mailer bar
3960
+ F, [2006-08-08T00:31:20.034209 #8270] FATAL -- : Missing DSN for source foo!
3961
+ F, [2006-08-08T00:31:20.060975 #8270] FATAL -- : no block given!
3962
+ F, [2006-08-08T00:31:51.142575 #8284] FATAL -- : Missing host for mailer bar
3963
+ F, [2006-08-08T00:31:51.143826 #8284] FATAL -- : Missing DSN for source foo!
3964
+ F, [2006-08-08T00:31:51.170450 #8284] FATAL -- : no block given!
3965
+ F, [2006-08-08T00:31:56.755033 #8292] FATAL -- : Missing host for mailer bar
3966
+ F, [2006-08-08T00:31:56.756286 #8292] FATAL -- : Missing DSN for source foo!
3967
+ F, [2006-08-08T00:31:56.782965 #8292] FATAL -- : no block given!
3968
+ F, [2006-08-08T00:32:48.647118 #8304] FATAL -- : Missing host for mailer bar
3969
+ F, [2006-08-08T00:32:48.648367 #8304] FATAL -- : Missing DSN for source foo!
3970
+ F, [2006-08-08T00:32:48.674840 #8304] FATAL -- : no block given!
3971
+ F, [2006-08-08T00:39:12.902124 #8330] FATAL -- : Missing host for mailer bar
3972
+ F, [2006-08-08T00:39:12.903386 #8330] FATAL -- : Missing DSN for source foo!
3973
+ F, [2006-08-08T00:39:12.929671 #8330] FATAL -- : no block given!
3974
+ F, [2006-08-08T00:39:40.442985 #8341] FATAL -- : Missing host for mailer bar
3975
+ F, [2006-08-08T00:39:40.444226 #8341] FATAL -- : Missing DSN for source foo!
3976
+ F, [2006-08-08T00:39:40.470340 #8341] FATAL -- : no block given!
3977
+ F, [2006-08-08T10:00:12.850115 #8606] FATAL -- : Missing host for mailer bar
3978
+ F, [2006-08-08T10:00:12.851362 #8606] FATAL -- : Missing DSN for source foo!
3979
+ F, [2006-08-08T10:00:12.877631 #8606] FATAL -- : no block given!
3980
+ F, [2006-08-08T10:04:30.762732 #8634] FATAL -- : Missing host for mailer bar
3981
+ F, [2006-08-08T10:04:30.763968 #8634] FATAL -- : Missing DSN for source foo!
3982
+ F, [2006-08-08T10:04:30.791372 #8634] FATAL -- : no block given!
3983
+ F, [2006-08-08T10:04:57.246558 #8642] FATAL -- : Missing host for mailer bar
3984
+ F, [2006-08-08T10:04:57.247834 #8642] FATAL -- : Missing DSN for source foo!
3985
+ F, [2006-08-08T10:04:57.275894 #8642] FATAL -- : no block given!
3986
+ F, [2006-08-08T10:10:00.470894 #8657] FATAL -- : Missing host for mailer bar
3987
+ F, [2006-08-08T10:10:00.472138 #8657] FATAL -- : Missing DSN for source foo!
3988
+ F, [2006-08-08T10:10:00.498604 #8657] FATAL -- : no block given!
3989
+ F, [2006-08-08T10:10:57.605578 #8665] FATAL -- : Missing host for mailer bar
3990
+ F, [2006-08-08T10:10:57.606825 #8665] FATAL -- : Missing DSN for source foo!
3991
+ F, [2006-08-08T10:10:57.633892 #8665] FATAL -- : no block given!
3992
+ F, [2006-08-08T10:11:07.339486 #8673] FATAL -- : Missing host for mailer bar
3993
+ F, [2006-08-08T10:11:07.340726 #8673] FATAL -- : Missing DSN for source foo!
3994
+ F, [2006-08-08T10:11:07.367879 #8673] FATAL -- : no block given!
3995
+ F, [2006-08-08T10:11:33.325079 #8681] FATAL -- : Missing host for mailer bar
3996
+ F, [2006-08-08T10:11:33.326329 #8681] FATAL -- : Missing DSN for source foo!
3997
+ F, [2006-08-08T10:11:33.353248 #8681] FATAL -- : no block given!
3998
+ F, [2006-08-08T10:11:38.610319 #8689] FATAL -- : Missing host for mailer bar
3999
+ F, [2006-08-08T10:11:38.611762 #8689] FATAL -- : Missing DSN for source foo!
4000
+ F, [2006-08-08T10:11:38.638649 #8689] FATAL -- : no block given!
4001
+ F, [2006-08-08T10:12:01.435389 #8697] FATAL -- : Missing host for mailer bar
4002
+ F, [2006-08-08T10:12:01.436640 #8697] FATAL -- : Missing DSN for source foo!
4003
+ F, [2006-08-08T10:12:01.463645 #8697] FATAL -- : no block given!
4004
+ F, [2006-08-08T10:13:29.992248 #8705] FATAL -- : Missing host for mailer bar
4005
+ F, [2006-08-08T10:13:29.993488 #8705] FATAL -- : Missing DSN for source foo!
4006
+ F, [2006-08-08T10:13:30.037101 #8705] FATAL -- : no block given!
4007
+ F, [2006-08-08T10:13:43.741007 #8714] FATAL -- : Missing host for mailer bar
4008
+ F, [2006-08-08T10:13:43.742268 #8714] FATAL -- : Missing DSN for source foo!
4009
+ F, [2006-08-08T10:13:43.768956 #8714] FATAL -- : no block given!
4010
+ F, [2006-08-08T10:14:38.113877 #8722] FATAL -- : Missing host for mailer bar
4011
+ F, [2006-08-08T10:14:38.115249 #8722] FATAL -- : Missing DSN for source foo!
4012
+ F, [2006-08-08T10:14:38.142109 #8722] FATAL -- : no block given!
4013
+ F, [2006-08-08T10:27:06.726403 #8743] FATAL -- : Missing host for mailer bar
4014
+ F, [2006-08-08T10:27:06.727657 #8743] FATAL -- : Missing DSN for source foo!
4015
+ F, [2006-08-08T10:27:06.754834 #8743] FATAL -- : no block given!
4016
+ F, [2006-08-08T10:34:07.790678 #8754] FATAL -- : Missing host for mailer bar
4017
+ F, [2006-08-08T10:34:07.792261 #8754] FATAL -- : Missing DSN for source foo!
4018
+ F, [2006-08-08T10:34:07.822177 #8754] FATAL -- : no block given!
4019
+ F, [2006-08-08T10:34:58.920762 #8762] FATAL -- : Missing host for mailer bar
4020
+ F, [2006-08-08T10:34:58.922018 #8762] FATAL -- : Missing DSN for source foo!
4021
+ F, [2006-08-08T10:34:58.948622 #8762] FATAL -- : no block given!
4022
+ F, [2006-08-08T10:36:14.945587 #8770] FATAL -- : Missing host for mailer bar
4023
+ F, [2006-08-08T10:36:14.946996 #8770] FATAL -- : Missing DSN for source foo!
4024
+ F, [2006-08-08T10:36:14.976584 #8770] FATAL -- : no block given!
4025
+ F, [2006-08-08T10:37:08.843853 #8778] FATAL -- : Missing host for mailer bar
4026
+ F, [2006-08-08T10:37:08.845101 #8778] FATAL -- : Missing DSN for source foo!
4027
+ F, [2006-08-08T10:37:08.926205 #8778] FATAL -- : no block given!
4028
+ F, [2006-08-08T10:37:21.757745 #8786] FATAL -- : Missing host for mailer bar
4029
+ F, [2006-08-08T10:37:21.759159 #8786] FATAL -- : Missing DSN for source foo!
4030
+ F, [2006-08-08T10:37:21.788885 #8786] FATAL -- : no block given!
4031
+ F, [2006-08-08T10:37:52.681714 #8794] FATAL -- : Missing host for mailer bar
4032
+ F, [2006-08-08T10:37:52.682983 #8794] FATAL -- : Missing DSN for source foo!
4033
+ F, [2006-08-08T10:37:52.765160 #8794] FATAL -- : no block given!
4034
+ F, [2006-08-08T10:39:09.171201 #8802] FATAL -- : Missing host for mailer bar
4035
+ F, [2006-08-08T10:39:09.172461 #8802] FATAL -- : Missing DSN for source foo!
4036
+ F, [2006-08-08T10:39:09.199412 #8802] FATAL -- : no block given!
4037
+ F, [2006-08-08T10:41:15.685824 #8810] FATAL -- : Missing host for mailer bar
4038
+ F, [2006-08-08T10:41:15.687361 #8810] FATAL -- : Missing DSN for source foo!
4039
+ F, [2006-08-08T10:41:15.713777 #8810] FATAL -- : no block given!
4040
+ F, [2006-08-08T10:41:31.558709 #8818] FATAL -- : Missing host for mailer bar
4041
+ F, [2006-08-08T10:41:31.560430 #8818] FATAL -- : Missing DSN for source foo!
4042
+ F, [2006-08-08T10:41:31.587070 #8818] FATAL -- : no block given!
4043
+ F, [2006-08-08T13:30:33.847667 #9388] FATAL -- : Missing host for mailer bar
4044
+ F, [2006-08-08T13:30:33.848923 #9388] FATAL -- : Missing DSN for source foo!
4045
+ F, [2006-08-08T13:30:33.934265 #9388] FATAL -- : no block given!
4046
+ F, [2006-08-08T14:17:04.111404 #9662] FATAL -- : Missing host for mailer bar
4047
+ F, [2006-08-08T14:17:04.113035 #9662] FATAL -- : Missing DSN for source foo!
4048
+ F, [2006-08-08T14:17:04.142369 #9662] FATAL -- : no block given!
4049
+ F, [2006-08-09T09:00:04.291024 #2209] FATAL -- : Missing host for mailer bar
4050
+ F, [2006-08-09T09:00:04.325993 #2209] FATAL -- : Missing DSN for source foo!
4051
+ F, [2006-08-09T09:00:04.409418 #2209] FATAL -- : no block given!
4052
+ F, [2006-08-09T12:16:49.126296 #3526] FATAL -- : Missing host for mailer bar
4053
+ F, [2006-08-09T12:16:49.170212 #3526] FATAL -- : Missing DSN for source foo!
4054
+ F, [2006-08-09T12:16:49.255323 #3526] FATAL -- : no block given!
4055
+ F, [2006-08-09T12:18:29.178106 #3545] FATAL -- : Missing host for mailer bar
4056
+ F, [2006-08-09T12:18:29.179374 #3545] FATAL -- : Missing DSN for source foo!
4057
+ F, [2006-08-09T12:18:29.263035 #3545] FATAL -- : no block given!
4058
+ F, [2006-08-09T13:42:48.917429 #3776] FATAL -- : Missing host for mailer bar
4059
+ F, [2006-08-09T13:42:48.918688 #3776] FATAL -- : Missing DSN for source foo!
4060
+ F, [2006-08-09T13:42:48.998714 #3776] FATAL -- : no block given!
4061
+ F, [2006-08-09T13:43:06.178252 #3787] FATAL -- : Missing host for mailer bar
4062
+ F, [2006-08-09T13:43:06.179640 #3787] FATAL -- : Missing DSN for source foo!
4063
+ F, [2006-08-09T13:43:06.208468 #3787] FATAL -- : no block given!
4064
+ F, [2006-08-09T19:47:33.621783 #2304] FATAL -- : Missing host for mailer bar
4065
+ F, [2006-08-09T19:47:33.664799 #2304] FATAL -- : Missing DSN for source foo!
4066
+ F, [2006-08-09T19:47:33.708555 #2304] FATAL -- : no block given!
4067
+ F, [2006-08-09T20:32:04.706994 #2457] FATAL -- : Missing host for mailer bar
4068
+ F, [2006-08-09T20:32:04.708238 #2457] FATAL -- : Missing DSN for source foo!
4069
+ F, [2006-08-09T20:32:04.735210 #2457] FATAL -- : no block given!
4070
+ F, [2006-08-09T20:42:06.627877 #2468] FATAL -- : Missing host for mailer bar
4071
+ F, [2006-08-09T20:42:06.629332 #2468] FATAL -- : Missing DSN for source foo!
4072
+ F, [2006-08-09T20:42:06.658347 #2468] FATAL -- : no block given!
4073
+ F, [2006-08-09T20:46:15.923988 #2477] FATAL -- : Missing host for mailer bar
4074
+ F, [2006-08-09T20:46:15.925295 #2477] FATAL -- : Missing DSN for source foo!
4075
+ F, [2006-08-09T20:46:15.944896 #2477] FATAL -- : no block given!
4076
+ F, [2006-08-09T20:46:21.424336 #2479] FATAL -- : Missing host for mailer bar
4077
+ F, [2006-08-09T20:46:21.425630 #2479] FATAL -- : Missing DSN for source foo!
4078
+ F, [2006-08-09T20:46:21.445908 #2479] FATAL -- : no block given!
4079
+ F, [2006-08-09T20:46:34.213311 #2481] FATAL -- : Missing host for mailer bar
4080
+ F, [2006-08-09T20:46:34.214571 #2481] FATAL -- : Missing DSN for source foo!
4081
+ F, [2006-08-09T20:46:34.241155 #2481] FATAL -- : no block given!
4082
+ F, [2006-08-09T20:47:18.198163 #2489] FATAL -- : Missing host for mailer bar
4083
+ F, [2006-08-09T20:47:18.199407 #2489] FATAL -- : Missing DSN for source foo!
4084
+ F, [2006-08-09T20:47:18.282866 #2489] FATAL -- : no block given!
4085
+ F, [2006-08-09T20:48:37.011911 #2499] FATAL -- : Missing host for mailer bar
4086
+ F, [2006-08-09T20:48:37.013140 #2499] FATAL -- : Missing DSN for source foo!
4087
+ F, [2006-08-09T20:48:37.039354 #2499] FATAL -- : no block given!
4088
+ F, [2006-08-09T20:51:57.627483 #2514] FATAL -- : Missing host for mailer bar
4089
+ F, [2006-08-09T20:51:57.628925 #2514] FATAL -- : Missing DSN for source foo!
4090
+ F, [2006-08-09T20:51:57.654751 #2514] FATAL -- : no block given!
4091
+ F, [2006-08-09T20:52:14.925753 #2522] FATAL -- : Missing host for mailer bar
4092
+ F, [2006-08-09T20:52:14.927072 #2522] FATAL -- : Missing DSN for source foo!
4093
+ F, [2006-08-09T20:52:14.953068 #2522] FATAL -- : no block given!
4094
+ F, [2006-08-09T20:52:24.623869 #2530] FATAL -- : Missing host for mailer bar
4095
+ F, [2006-08-09T20:52:24.625235 #2530] FATAL -- : Missing DSN for source foo!
4096
+ F, [2006-08-09T20:52:24.651350 #2530] FATAL -- : no block given!
4097
+ F, [2006-08-09T20:52:34.520967 #2538] FATAL -- : Missing host for mailer bar
4098
+ F, [2006-08-09T20:52:34.522324 #2538] FATAL -- : Missing DSN for source foo!
4099
+ F, [2006-08-09T20:52:34.548503 #2538] FATAL -- : no block given!
4100
+ F, [2006-08-09T20:53:43.859368 #2546] FATAL -- : Missing host for mailer bar
4101
+ F, [2006-08-09T20:53:43.860724 #2546] FATAL -- : Missing DSN for source foo!
4102
+ F, [2006-08-09T20:53:43.887124 #2546] FATAL -- : no block given!
4103
+ F, [2006-08-09T20:53:55.887138 #2554] FATAL -- : Missing host for mailer bar
4104
+ F, [2006-08-09T20:53:55.888453 #2554] FATAL -- : Missing DSN for source foo!
4105
+ F, [2006-08-09T20:53:55.914663 #2554] FATAL -- : no block given!
4106
+ F, [2006-08-09T20:54:13.036948 #2562] FATAL -- : Missing host for mailer bar
4107
+ F, [2006-08-09T20:54:13.038257 #2562] FATAL -- : Missing DSN for source foo!
4108
+ F, [2006-08-09T20:54:13.064247 #2562] FATAL -- : no block given!
4109
+ F, [2006-08-09T20:54:24.227845 #2570] FATAL -- : Missing host for mailer bar
4110
+ F, [2006-08-09T20:54:24.229170 #2570] FATAL -- : Missing DSN for source foo!
4111
+ F, [2006-08-09T20:54:24.255204 #2570] FATAL -- : no block given!
4112
+ F, [2006-08-09T20:54:44.419751 #2578] FATAL -- : Missing host for mailer bar
4113
+ F, [2006-08-09T20:54:44.421079 #2578] FATAL -- : Missing DSN for source foo!
4114
+ F, [2006-08-09T20:54:44.447189 #2578] FATAL -- : no block given!
4115
+ F, [2006-08-09T20:55:02.485042 #2586] FATAL -- : Missing host for mailer bar
4116
+ F, [2006-08-09T20:55:02.486370 #2586] FATAL -- : Missing DSN for source foo!
4117
+ F, [2006-08-09T20:55:02.512227 #2586] FATAL -- : no block given!
4118
+ F, [2006-08-09T20:55:21.993618 #2594] FATAL -- : Missing host for mailer bar
4119
+ F, [2006-08-09T20:55:21.994953 #2594] FATAL -- : Missing DSN for source foo!
4120
+ F, [2006-08-09T20:55:22.021040 #2594] FATAL -- : no block given!
4121
+ F, [2006-08-09T20:55:50.444258 #2602] FATAL -- : Missing host for mailer bar
4122
+ F, [2006-08-09T20:55:50.445605 #2602] FATAL -- : Missing DSN for source foo!
4123
+ F, [2006-08-09T20:55:50.471808 #2602] FATAL -- : no block given!
4124
+ F, [2006-08-09T20:55:56.572101 #2610] FATAL -- : Missing host for mailer bar
4125
+ F, [2006-08-09T20:55:56.573447 #2610] FATAL -- : Missing DSN for source foo!
4126
+ F, [2006-08-09T20:55:56.599512 #2610] FATAL -- : no block given!
4127
+ F, [2006-08-09T20:56:20.494392 #2618] FATAL -- : Missing host for mailer bar
4128
+ F, [2006-08-09T20:56:20.495703 #2618] FATAL -- : Missing DSN for source foo!
4129
+ F, [2006-08-09T20:56:20.521761 #2618] FATAL -- : no block given!
4130
+ F, [2006-08-09T20:56:35.538013 #2626] FATAL -- : Missing host for mailer bar
4131
+ F, [2006-08-09T20:56:35.539349 #2626] FATAL -- : Missing DSN for source foo!
4132
+ F, [2006-08-09T20:56:35.565623 #2626] FATAL -- : no block given!
4133
+ F, [2006-08-09T20:56:51.349099 #2634] FATAL -- : Missing host for mailer bar
4134
+ F, [2006-08-09T20:56:51.350466 #2634] FATAL -- : Missing DSN for source foo!
4135
+ F, [2006-08-09T20:56:51.376553 #2634] FATAL -- : no block given!
4136
+ F, [2006-08-09T20:57:12.618030 #2642] FATAL -- : Missing host for mailer bar
4137
+ F, [2006-08-09T20:57:12.619435 #2642] FATAL -- : Missing DSN for source foo!
4138
+ F, [2006-08-09T20:57:12.646303 #2642] FATAL -- : no block given!
4139
+ F, [2006-08-09T20:57:21.869998 #2650] FATAL -- : Missing host for mailer bar
4140
+ F, [2006-08-09T20:57:21.871316 #2650] FATAL -- : Missing DSN for source foo!
4141
+ F, [2006-08-09T20:57:21.906372 #2650] FATAL -- : no block given!
4142
+ F, [2006-08-09T20:58:29.616802 #2658] FATAL -- : Missing host for mailer bar
4143
+ F, [2006-08-09T20:58:29.618146 #2658] FATAL -- : Missing DSN for source foo!
4144
+ F, [2006-08-09T20:58:29.653685 #2658] FATAL -- : no block given!
4145
+ F, [2006-08-09T20:58:44.141725 #2666] FATAL -- : Missing host for mailer bar
4146
+ F, [2006-08-09T20:58:44.143038 #2666] FATAL -- : Missing DSN for source foo!
4147
+ F, [2006-08-09T20:58:44.177992 #2666] FATAL -- : no block given!
4148
+ F, [2006-08-09T20:59:03.454037 #2674] FATAL -- : Missing host for mailer bar
4149
+ F, [2006-08-09T20:59:03.455491 #2674] FATAL -- : Missing DSN for source foo!
4150
+ F, [2006-08-09T20:59:03.489806 #2674] FATAL -- : no block given!
4151
+ F, [2006-08-09T20:59:21.438463 #2682] FATAL -- : Missing host for mailer bar
4152
+ F, [2006-08-09T20:59:21.439857 #2682] FATAL -- : Missing DSN for source foo!
4153
+ F, [2006-08-09T20:59:21.900804 #2682] FATAL -- : no block given!
4154
+ F, [2006-08-09T20:59:32.882538 #2690] FATAL -- : Missing host for mailer bar
4155
+ F, [2006-08-09T20:59:32.883871 #2690] FATAL -- : Missing DSN for source foo!
4156
+ F, [2006-08-09T20:59:32.918462 #2690] FATAL -- : no block given!
4157
+ F, [2006-08-09T21:01:14.745088 #2699] FATAL -- : Missing host for mailer bar
4158
+ F, [2006-08-09T21:01:14.746451 #2699] FATAL -- : Missing DSN for source foo!
4159
+ F, [2006-08-09T21:01:15.208192 #2699] FATAL -- : no block given!
4160
+ F, [2006-08-09T21:01:20.723139 #2707] FATAL -- : Missing host for mailer bar
4161
+ F, [2006-08-09T21:01:20.724447 #2707] FATAL -- : Missing DSN for source foo!
4162
+ F, [2006-08-09T21:01:21.187288 #2707] FATAL -- : no block given!
4163
+ F, [2006-08-09T21:02:04.154888 #2715] FATAL -- : Missing host for mailer bar
4164
+ F, [2006-08-09T21:02:04.156237 #2715] FATAL -- : Missing DSN for source foo!
4165
+ F, [2006-08-09T21:02:04.628399 #2715] FATAL -- : no block given!
4166
+ F, [2006-08-09T21:02:13.933198 #2723] FATAL -- : Missing host for mailer bar
4167
+ F, [2006-08-09T21:02:13.934569 #2723] FATAL -- : Missing DSN for source foo!
4168
+ F, [2006-08-09T21:02:14.455316 #2723] FATAL -- : no block given!
4169
+ F, [2006-08-09T22:05:50.958911 #2195] FATAL -- : Missing host for mailer bar
4170
+ F, [2006-08-09T22:05:50.972451 #2195] FATAL -- : Missing DSN for source foo!
4171
+ F, [2006-08-09T22:05:50.998391 #2195] FATAL -- : no block given!
4172
+ F, [2006-08-09T22:07:45.932977 #2203] FATAL -- : Missing host for mailer bar
4173
+ F, [2006-08-09T22:07:45.934294 #2203] FATAL -- : Missing DSN for source foo!
4174
+ F, [2006-08-09T22:07:46.426697 #2203] FATAL -- : no block given!
4175
+ F, [2006-08-09T22:10:09.277806 #2211] FATAL -- : Missing host for mailer bar
4176
+ F, [2006-08-09T22:10:09.279031 #2211] FATAL -- : Missing DSN for source foo!
4177
+ F, [2006-08-09T22:10:10.275090 #2211] FATAL -- : no block given!
4178
+ F, [2006-08-09T22:19:41.208510 #2266] FATAL -- : Missing host for mailer bar
4179
+ F, [2006-08-09T22:19:41.209764 #2266] FATAL -- : Missing DSN for source foo!
4180
+ F, [2006-08-09T22:19:42.208390 #2266] FATAL -- : no block given!
4181
+ F, [2006-08-09T22:34:37.943120 #2303] FATAL -- : Missing host for mailer bar
4182
+ F, [2006-08-09T22:34:37.944460 #2303] FATAL -- : Missing DSN for source foo!
4183
+ F, [2006-08-09T22:34:38.712716 #2303] FATAL -- : no block given!
4184
+ F, [2006-08-09T22:36:41.843011 #2316] FATAL -- : Missing host for mailer bar
4185
+ F, [2006-08-09T22:36:41.844323 #2316] FATAL -- : Missing DSN for source foo!
4186
+ F, [2006-08-09T22:36:42.404099 #2316] FATAL -- : no block given!
4187
+ F, [2006-08-09T22:38:16.839140 #2324] FATAL -- : Missing host for mailer bar
4188
+ F, [2006-08-09T22:38:16.840401 #2324] FATAL -- : Missing DSN for source foo!
4189
+ F, [2006-08-09T22:38:17.316539 #2324] FATAL -- : no block given!
4190
+ F, [2006-08-09T22:39:04.467178 #2333] FATAL -- : Missing host for mailer bar
4191
+ F, [2006-08-09T22:39:04.468425 #2333] FATAL -- : Missing DSN for source foo!
4192
+ F, [2006-08-09T22:39:05.465889 #2333] FATAL -- : no block given!
4193
+ F, [2006-08-09T22:42:24.317528 #2350] FATAL -- : Missing host for mailer bar
4194
+ F, [2006-08-09T22:42:24.318803 #2350] FATAL -- : Missing DSN for source foo!
4195
+ F, [2006-08-09T22:42:25.323158 #2350] FATAL -- : no block given!
4196
+ F, [2006-08-09T22:45:41.078766 #2374] FATAL -- : Missing host for mailer bar
4197
+ F, [2006-08-09T22:45:41.080015 #2374] FATAL -- : Missing DSN for source foo!
4198
+ F, [2006-08-09T22:45:42.082416 #2374] FATAL -- : no block given!
4199
+ F, [2006-08-09T23:00:57.959272 #2433] FATAL -- : Missing host for mailer bar
4200
+ F, [2006-08-09T23:00:57.960533 #2433] FATAL -- : Missing DSN for source foo!
4201
+ F, [2006-08-09T23:00:59.170584 #2433] FATAL -- : no block given!
4202
+ F, [2006-08-09T23:03:44.024552 #2448] FATAL -- : Missing host for mailer bar
4203
+ F, [2006-08-09T23:03:44.025836 #2448] FATAL -- : Missing DSN for source foo!
4204
+ F, [2006-08-09T23:03:45.026301 #2448] FATAL -- : no block given!
4205
+ F, [2006-08-09T23:04:34.189073 #2460] FATAL -- : Missing host for mailer bar
4206
+ F, [2006-08-09T23:04:34.190313 #2460] FATAL -- : Missing DSN for source foo!
4207
+ F, [2006-08-09T23:04:35.190862 #2460] FATAL -- : no block given!
4208
+ F, [2006-08-09T23:15:54.062635 #2496] FATAL -- : Missing host for mailer bar
4209
+ F, [2006-08-09T23:15:54.066179 #2496] FATAL -- : Missing DSN for source foo!
4210
+ F, [2006-08-09T23:15:54.475193 #2496] FATAL -- : no block given!
4211
+ F, [2006-08-09T23:16:16.418939 #2504] FATAL -- : Missing host for mailer bar
4212
+ F, [2006-08-09T23:16:16.420190 #2504] FATAL -- : Missing DSN for source foo!
4213
+ F, [2006-08-09T23:16:16.819597 #2504] FATAL -- : no block given!
4214
+ F, [2006-08-09T23:16:30.867960 #2512] FATAL -- : Missing host for mailer bar
4215
+ F, [2006-08-09T23:16:30.869306 #2512] FATAL -- : Missing DSN for source foo!
4216
+ F, [2006-08-09T23:16:31.877841 #2512] FATAL -- : no block given!
4217
+ F, [2006-08-09T23:18:27.492838 #2525] FATAL -- : Missing host for mailer bar
4218
+ F, [2006-08-09T23:18:27.494111 #2525] FATAL -- : Missing DSN for source foo!
4219
+ F, [2006-08-09T23:18:27.947601 #2525] FATAL -- : no block given!
4220
+ F, [2006-08-09T23:18:53.028465 #2533] FATAL -- : Missing host for mailer bar
4221
+ F, [2006-08-09T23:18:53.029737 #2533] FATAL -- : Missing DSN for source foo!
4222
+ F, [2006-08-09T23:18:54.039834 #2533] FATAL -- : no block given!
4223
+ F, [2006-08-10T01:24:16.764976 #2178] FATAL -- : Missing host for mailer bar
4224
+ F, [2006-08-10T01:24:16.806965 #2178] FATAL -- : Missing DSN for source foo!
4225
+ F, [2006-08-10T01:24:17.786583 #2178] FATAL -- : no block given!
4226
+ F, [2006-08-10T03:37:28.443650 #2233] FATAL -- : Missing host for mailer bar
4227
+ F, [2006-08-10T03:37:28.484218 #2233] FATAL -- : Missing DSN for source foo!
4228
+ F, [2006-08-10T03:37:29.497370 #2233] FATAL -- : no block given!
4229
+ F, [2006-08-10T05:13:20.436073 #2344] FATAL -- : Missing host for mailer bar
4230
+ F, [2006-08-10T05:13:20.437856 #2344] FATAL -- : Missing DSN for source foo!
4231
+ F, [2006-08-10T05:13:22.522232 #2344] FATAL -- : no block given!