diff --git a/trunk/ripnews/ripnews.rb b/trunk/ripnews/ripnews.rb index ce8f18b..081c9f0 100755 --- a/trunk/ripnews/ripnews.rb +++ b/trunk/ripnews/ripnews.rb @@ -185,11 +185,11 @@ def check_config } end -def get_single(articles, subj) +def get_single(subj) print " Singlepart!\n" - body = articles.get_group_body(subj) - if articles.is_uuencoded(body) - mode, filename, body = articles.uudecode(body) + body = @articles.get_group_body(subj) + if @articles.is_uuencoded(body) + mode, filename, body = @articles.uudecode(body) else print "Not UUencoded!\n" return false @@ -197,25 +197,25 @@ def get_single(articles, subj) return mode, filename, body end -def get_multi(articles, subj, group) +def get_multi(subj, group) print " Multipart!\n" if @config[group]["TEMPDIR"] == nil or @config[group]["TEMPDIR"] == "" - body = articles.get_group_body(subj) - if articles.is_uuencoded(body) - mode, filename, body = articles.uudecode(body) + body = @articles.get_group_body(subj) + if @articles.is_uuencoded(body) + mode, filename, body = @articles.uudecode(body) else print "Multipart article not UUencoded!\n" return false end else - body = articles.get_group_body_first(subj) + body = @articles.get_group_body_first(subj) next if body == false - if articles.is_uuencoded(body) + if @articles.is_uuencoded(body) file = Tempfile.new("riptmp", @config[group]["TEMPDIR"]) body.collect{|x| file.print "#{x}\n"} - next unless articles.get_group_body_rest(subj, file) + next unless @articles.get_group_body_rest(subj, file) fileout = Tempfile.new("riptmp", @config[group]["TEMPDIR"]) - mode, filename, body = articles.uudecode(file, fileout) + mode, filename, body = @articles.uudecode(file, fileout) body = fileout.path file.close fileout.close @@ -224,35 +224,31 @@ def get_multi(articles, subj, group) return false end end - return -mode, filename, body + return mode, filename, body end -def output_data(mode, filename="", body="") +def output_data(subject, mode, filename="", body="") if mode + group = @articles.get_groupname print " mode: #{mode}\n" if Debuglevel > 0 print " Filename: '#{filename}'\n" if Debuglevel > 0 if @config[group].has_key?("-L") and @config[group]["-L"] print "longname\n" if Debuglevel > 1 - if save_file("#{@config[group]["DATADIR"]}/#{group}", i, body) - articles.group_update_newsrc(i) - articles.save_newsrc unless @config[group].has_key?("-T") and @config[group]["-T"] + if save_file("#{@config[group]["DATADIR"]}/#{group}", subject, body) + @articles.group_update_newsrc(subject) + @articles.save_newsrc unless @config[group].has_key?("-T") and @config[group]["-T"] end else print "shortname\n" if Debuglevel > 1 if save_file("#{@config[group]["DATADIR"]}/#{group}", filename, body) - articles.group_update_newsrc(i) - articles.save_newsrc unless @config[group].has_key?("-T") and @config[group]["-T"] + @articles.group_update_newsrc(subject) + @articles.save_newsrc unless @config[group].has_key?("-T") and @config[group]["-T"] end end else return false end return true - #messids = articles.get_group_messids(i) - #articles.group_update_newsrc(i) - #newsrc.mark_list(group, marked) - #articles.save_newsrc unless @config[group].has_key?("-T") and @config[group]["-T"] - #marked.collect!{|x| print "marked: #{x}\n"} end ############################################################################################# @@ -273,31 +269,31 @@ end for group in @config.keys.sort print "Getting articles for #{group}\n" - articles = Article.new(@config[group]["NNTPSERVER"], group, @config[group]["NEWSRCNAME"]) - articles.get_articles(@config[group]["CACHEDIR"]) + @articles = Article.new(@config[group]["NNTPSERVER"], group, @config[group]["NEWSRCNAME"]) + @articles.get_articles(@config[group]["CACHEDIR"]) unless FileTest.directory?("#{@config[group]["DATADIR"]}/#{group}") or Dir.mkdir("#{@config[group]["DATADIR"]}/#{group}", @config[group]["PERMISSION"].oct) print "eeeps, couldn't create dir\n" exit end - for i in articles.get_group_subjects + for i in @articles.get_group_subjects print "#{i}\n" if Debuglevel > 2 if !(@config[group].has_key?("-X") and i =~ /#{@config[group]["-X"]}/) and i =~ /#{@config[group]["-I"]}/ print "Match: #{i}\n" if Debuglevel > 0 - if articles.group_is_complete(i) + if @articles.group_is_complete(i) print " Fetching: #{i}\n" - if articles.group_is_singlepart(i) - mode, filename, body = get_single(articles, i) - elsif articles.group_is_multipart(i) - mode, filename, body = get_multi(articles, i, group) + if @articles.group_is_singlepart(i) + mode, filename, body = get_single(i) + elsif @articles.group_is_multipart(i) + mode, filename, body = get_multi(i, group) end - output_data(mode, filename, body) + output_data(i, mode, filename, body) else print " Not complete: #{i}\n" end end end - articles.quit + @articles.quit end