- add DELEXT configuration option
- update documentation a bit
This commit is contained in:
parent
97a8b5ea28
commit
30c79ac405
4 changed files with 34 additions and 11 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/local/bin/ruby -w
|
||||
|
||||
# $Dwarf: ripnews.rb,v 1.51 2003/04/24 09:41:17 ward Exp $
|
||||
# $Dwarf: ripnews.rb,v 1.52 2003/04/24 12:14:36 ward Exp $
|
||||
# $Source$
|
||||
|
||||
require 'date'
|
||||
|
|
@ -226,6 +226,10 @@ def check_config
|
|||
@config[i]["-S"] = @config[i]["EXTENSIONS"]
|
||||
@config[i]["-M"] = @config[i]["EXTENSIONS"]
|
||||
end
|
||||
if @config[i].has_key?("DELEXT")
|
||||
@config[i]["-SD"] = @config[i]["DELEXT"]
|
||||
@config[i]["-MD"] = @config[i]["DELEXT"]
|
||||
end
|
||||
@config[i]["-M"] = "(?!.*)" if @config[i].has_key?("-S") and ! @config[i].has_key?("-M")
|
||||
@config[i]["-S"] = "(?!.*)" if @config[i].has_key?("-M") and ! @config[i].has_key?("-S")
|
||||
}
|
||||
|
|
@ -237,12 +241,12 @@ def get_single(subj, group)
|
|||
if UUEncode.is_uuencoded(body)
|
||||
filename = UUEncode.get_filename(body)
|
||||
print " filename #{filename}\n"
|
||||
return false unless check_ext(group, filename, "s")
|
||||
return false unless check_ext(group, filename, "s", subj)
|
||||
print " UUDecoding...\n"
|
||||
mode, filename, body = UUEncode.uudecode(body)
|
||||
elsif YEnc.is_yencoded(body)
|
||||
filename = YEnc.get_filename(body)
|
||||
return false unless check_ext(group, filename, "s")
|
||||
return false unless check_ext(group, filename, "s", subj)
|
||||
print " YDecoding...\n"
|
||||
mode, filename, body = YEnc.ydecode(body)
|
||||
else
|
||||
|
|
@ -259,14 +263,14 @@ def get_multi(subj, group)
|
|||
if UUEncode.is_uuencoded(body)
|
||||
filename = UUEncode.get_filename(body)
|
||||
print " filename #{filename}\n"
|
||||
return false unless check_ext(group, filename, "m")
|
||||
return false unless check_ext(group, filename, "m", subj)
|
||||
print " UUDecoding...\n"
|
||||
mode, filename, body = UUEncode.uudecode(body)
|
||||
elsif YEnc.is_yencoded(body)
|
||||
print "yencc\n"
|
||||
filename = YEnc.get_filename(body)
|
||||
print "filename #{filename}\n"
|
||||
return false unless check_ext(group, filename, "m")
|
||||
return false unless check_ext(group, filename, "m", subj)
|
||||
print " YDecoding...\n"
|
||||
mode, filename, body = YEnc.ydecode(body)
|
||||
else
|
||||
|
|
@ -280,12 +284,12 @@ def get_multi(subj, group)
|
|||
if UUEncode.is_uuencoded(body)
|
||||
filename = UUEncode.get_filename(body)
|
||||
print " filename #{filename}\n"
|
||||
return false unless check_ext(group, filename, "m")
|
||||
return false unless check_ext(group, filename, "m", subj)
|
||||
elsif YEnc.is_yencoded(body)
|
||||
print "yencc\n"
|
||||
filename = YEnc.get_filename(body)
|
||||
print "filename #{filename}\n"
|
||||
return false unless check_ext(group, filename, "m")
|
||||
return false unless check_ext(group, filename, "m", subj)
|
||||
end
|
||||
file = Tempfile.new("riptmp", @config[group]["TEMPDIR"])
|
||||
body.collect{|x| file.print "#{x}\n"}
|
||||
|
|
@ -344,11 +348,21 @@ def output_data(subject, mode, filename="", body="")
|
|||
end
|
||||
end
|
||||
|
||||
def check_ext(group, filename, mode)
|
||||
def check_ext(group, filename, mode, subject)
|
||||
case mode
|
||||
when "s"
|
||||
if @config[group].has_key?("-SD") && ( filename =~ /\.(#{@config[group]["-SD"]})$/ )
|
||||
print "Marking '#{subject}' matches as read\n"
|
||||
@articles.group_update_newsrc(subject)
|
||||
return false
|
||||
end
|
||||
return @config[group].has_key?("-S") ? ( filename =~ /\.(#{@config[group]["-S"]})$/ ) : true
|
||||
when "m"
|
||||
if @config[group].has_key?("-MD") && ( filename =~ /\.(#{@config[group]["-MD"]})$/ )
|
||||
print "Marking '#{subject}' matches as read\n"
|
||||
@articles.group_update_newsrc(subject)
|
||||
return false
|
||||
end
|
||||
return @config[group].has_key?("-M") ? ( filename =~ /\.(#{@config[group]["-M"]})$/ ) : true
|
||||
else
|
||||
print "Illegal mode \"#{mode}\" in check_ext\n"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue