@@ -25,45 +25,68 @@ class SubscriptionText
2525 def initialize ( config , pipeline = [ ] )
2626 @config = config
2727 @pipeline = pipeline
28+ end
29+
30+ def run
31+ create_feed
32+
33+ if @dummyfeeds != [ ]
34+ @pipeline << Automatic ::FeedParser . create ( @dummyfeeds )
35+ end
36+ @pipeline
37+ end
38+
39+ private
2840
41+ def generate_textfeed ( feed )
42+ textFeed = TextFeed . new
43+ textFeed . title = feed [ 'title' ] unless feed [ 'title' ] . nil?
44+ textFeed . link = feed [ 'url' ] unless feed [ 'url' ] . nil?
45+ textFeed . description = feed [ 'description' ] unless feed [ 'description' ] . nil?
46+ textFeed . author = feed [ 'author' ] unless feed [ 'author' ] . nil?
47+ textFeed . comments = feed [ 'comments' ] unless feed [ 'comments' ] . nil?
48+ @dummyfeeds << textFeed
49+ end
50+
51+ def create_feed
2952 unless @config . nil?
3053 @dummyfeeds = [ ]
3154 unless @config [ 'titles' ] . nil?
3255 @config [ 'titles' ] . each { |title |
33- textFeed = TextFeed . new
34- textFeed . title = title
35- @dummyfeeds << textFeed
56+ feed = { }
57+ feed [ ' title' ] = title
58+ generate_textfeed ( feed )
3659 }
3760 end
3861
3962 unless @config [ 'urls' ] . nil?
4063 @config [ 'urls' ] . each { |url |
41- textFeed = TextFeed . new
42- textFeed . link = url
43- @dummyfeeds << textFeed
64+ feed = { }
65+ feed [ 'url' ] = url
66+ generate_textfeed ( feed )
4467 }
4568 end
4669
4770 unless @config [ 'feeds' ] . nil?
4871 @config [ 'feeds' ] . each { |feed |
49- textFeed = TextFeed . new
50- textFeed . title = feed [ 'title' ] unless feed [ 'title' ] . nil?
51- textFeed . link = feed [ 'url' ] unless feed [ 'url' ] . nil?
52- textFeed . description = feed [ 'description' ] unless feed [ 'description' ] . nil?
53- textFeed . author = feed [ 'author' ] unless feed [ 'author' ] . nil?
54- textFeed . comments = feed [ 'comments' ] unless feed [ 'comments' ] . nil?
55- @dummyfeeds << textFeed
72+ generate_textfeed ( feed )
5673 }
5774 end
5875
76+ unless @config [ 'files' ] . nil?
77+ @config [ 'files' ] . each { |f |
78+ open ( File . expand_path ( f ) ) do |file |
79+ file . each_line do |line |
80+ feed = { }
81+ feed [ 'title' ] , feed [ 'url' ] , feed [ 'description' ] , feed [ 'author' ] ,
82+ feed [ 'comments' ] = line . force_encoding ( "utf-8" ) . strip . split ( "\t " )
83+ generate_textfeed ( feed )
84+ end
85+ end
86+ }
87+ end
5988 end
6089 end
6190
62- def run
63- if @dummyfeeds != [ ]
64- @pipeline << Automatic ::FeedParser . create ( @dummyfeeds )
65- end
66- @pipeline
67- end
6891 end
6992end
0 commit comments