zetaben-Html2Feedbooks 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/conf.rb +1 -0
- data/lib/parser.rb +30 -6
- metadata +1 -1
data/lib/conf.rb
CHANGED
data/lib/parser.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'hpricot'
|
2
2
|
require 'document.rb'
|
3
3
|
require 'progressbar'
|
4
|
+
#require 'ruby-prof'
|
4
5
|
#require 'term/ansicolor'
|
5
6
|
#include Term::ANSIColor
|
6
7
|
|
@@ -63,6 +64,9 @@ module HTML2FB
|
|
63
64
|
end
|
64
65
|
|
65
66
|
def parse_text(doc,ret)
|
67
|
+
# RubyProf.start
|
68
|
+
|
69
|
+
|
66
70
|
aut=build_autom(@conf['select'],ret)
|
67
71
|
|
68
72
|
pbar = ProgressBar.new("Parsing", doc.search('//').size)
|
@@ -72,6 +76,16 @@ module HTML2FB
|
|
72
76
|
end
|
73
77
|
pbar.finish
|
74
78
|
aut.finish(doc)
|
79
|
+
=begin
|
80
|
+
result = RubyProf.stop
|
81
|
+
printer = RubyProf::FlatPrinter.new(result)
|
82
|
+
printer.print(STDOUT, 0)
|
83
|
+
printer.print(File.new('/versatile/prof','w'),0)
|
84
|
+
printer = RubyProf::GraphHtmlPrinter.new(result)
|
85
|
+
printer.print(File.new('/versatile/profgraph.html','w'), :min_percent=>0)
|
86
|
+
printer = RubyProf::CallTreePrinter.new(result)
|
87
|
+
printer.print(File.new('/versatile/profgraph.tree','w'), :min_percent=>0)
|
88
|
+
=end
|
75
89
|
end
|
76
90
|
|
77
91
|
protected
|
@@ -143,10 +157,14 @@ module HTML2FB
|
|
143
157
|
end
|
144
158
|
|
145
159
|
def open_section(obj,lvl,el)
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
160
|
+
tmp=el.root.search(@content...(el.xpath))[1..-1]
|
161
|
+
unless tmp.blank?
|
162
|
+
tmph=tmp.to_html
|
163
|
+
unless tmph.blank?
|
164
|
+
t=create_textNode(tmph)
|
165
|
+
@starts[@current_level].content.push(t)
|
166
|
+
end
|
167
|
+
end
|
150
168
|
(lvl..@max_level).to_a.reverse.each do |l|
|
151
169
|
close_section(l)
|
152
170
|
end
|
@@ -172,6 +190,7 @@ module HTML2FB
|
|
172
190
|
|
173
191
|
|
174
192
|
open_section({:xpath => el.xpath, :fblevel => expr['fblevel']},i+1,el)
|
193
|
+
break
|
175
194
|
end
|
176
195
|
end
|
177
196
|
end
|
@@ -183,7 +202,7 @@ end
|
|
183
202
|
|
184
203
|
class String
|
185
204
|
def blank?
|
186
|
-
self
|
205
|
+
self !~ /\S/
|
187
206
|
end
|
188
207
|
end
|
189
208
|
|
@@ -197,7 +216,7 @@ module Hpricot::Traverse
|
|
197
216
|
def in_search?(expr)
|
198
217
|
se_in=self.parent
|
199
218
|
if expr[0..1]=='/'
|
200
|
-
se_in=
|
219
|
+
se_in=self.root
|
201
220
|
end
|
202
221
|
se_in.search(expr).each do |el|
|
203
222
|
return true if el==self
|
@@ -207,8 +226,10 @@ module Hpricot::Traverse
|
|
207
226
|
end
|
208
227
|
|
209
228
|
def root
|
229
|
+
return @root unless @root.nil?
|
210
230
|
se_in=self
|
211
231
|
se_in=se_in.parent until se_in.parent.nil?
|
232
|
+
@root=se_in
|
212
233
|
se_in
|
213
234
|
end
|
214
235
|
|
@@ -221,3 +242,6 @@ module Hpricot::Traverse
|
|
221
242
|
end
|
222
243
|
end
|
223
244
|
|
245
|
+
class Hpricot::Elements
|
246
|
+
alias_method :blank?, :empty?
|
247
|
+
end
|