- generic fix for strange chars in filename

- fix problem where global settings that are finetuned
  for a specific group get changed in all group
- start working on a minimum threshold of number of
  messages that has to be on the primary server (I don't
  want to get 100% of the messages from a fallback server)
This commit is contained in:
Ward Wouts 2005-11-06 11:19:30 +00:00
parent 4ce5926d0e
commit ad226c90ab

View file

@ -90,35 +90,47 @@ def save_file(dir, name, data)
nname.gsub!(/®/, "(r)")
# XXX I really have to find something a bit more elegant for this
# XXX this is a mac problem, should be configurable!!!!
nname.gsub!(/Ä/, "A"); nname.gsub!(/ä/, "a")
nname.gsub!(/Á/, "A"); nname.gsub!(/á/, "a")
nname.gsub!(/À/, "A"); nname.gsub!(/à/, "a")
nname.gsub!(/Â/, "A"); nname.gsub!(/â/, "a")
nname.gsub!(/Ë/, "E"); nname.gsub!(/ë/, "e")
nname.gsub!(/É/, "E"); nname.gsub!(/é/, "e")
nname.gsub!(/È/, "E"); nname.gsub!(/è/, "e")
nname.gsub!(/Ê/, "E"); nname.gsub!(/ê/, "e")
nname.gsub!(/Ï/, "I"); nname.gsub!(/ï/, "i")
nname.gsub!(/Í/, "I"); nname.gsub!(/í/, "i")
nname.gsub!(/Ì/, "I"); nname.gsub!(/ì/, "i")
nname.gsub!(/Î/, "I"); nname.gsub!(/î/, "i")
nname.gsub!(/Ö/, "O"); nname.gsub!(/ö/, "o")
nname.gsub!(/Ó/, "O"); nname.gsub!(/ó/, "o")
nname.gsub!(/Ò/, "O"); nname.gsub!(/ò/, "o")
nname.gsub!(/Ô/, "O"); nname.gsub!(/ô/, "o")
nname.gsub!(/Ú/, "U"); nname.gsub!(/ú/, "u")
nname.gsub!(/Ü/, "U"); nname.gsub!(/ü/, "u")
nname.gsub!(/Ù/, "U"); nname.gsub!(/ù/, "u")
nname.gsub!(/Û/, "U"); nname.gsub!(/û/, "u")
group = @config.keys[0]
if @config[group].has_key?("ASCIIFILENAMES") && @config[group]["ASCIIFILENAMES"]
require 'iconv'
nname = Iconv.conv("ASCII//TRANSLIT", "UTF-8", nname)
end
### nname.gsub!(/Ä/, "A"); nname.gsub!(/ä/, "a")
### nname.gsub!(/Á/, "A"); nname.gsub!(/á/, "a")
### nname.gsub!(/À/, "A"); nname.gsub!(/à/, "a")
### nname.gsub!(/Â/, "A"); nname.gsub!(/â/, "a")
###
### nname.gsub!(/Ë/, "E"); nname.gsub!(/ë/, "e")
### nname.gsub!(/É/, "E"); nname.gsub!(/é/, "e")
### nname.gsub!(/È/, "E"); nname.gsub!(/è/, "e")
### nname.gsub!(/Ê/, "E"); nname.gsub!(/ê/, "e")
###
### nname.gsub!(/Ï/, "I"); nname.gsub!(/ï/, "i")
### nname.gsub!(/Í/, "I"); nname.gsub!(/í/, "i")
### nname.gsub!(/Ì/, "I"); nname.gsub!(/ì/, "i")
### nname.gsub!(/Î/, "I"); nname.gsub!(/î/, "i")
###
### nname.gsub!(/Ö/, "O"); nname.gsub!(/ö/, "o")
### nname.gsub!(/Ó/, "O"); nname.gsub!(/ó/, "o")
### nname.gsub!(/Ò/, "O"); nname.gsub!(/ò/, "o")
### nname.gsub!(/Ô/, "O"); nname.gsub!(/ô/, "o")
###
### nname.gsub!(/Ú/, "U"); nname.gsub!(/ú/, "u")
### nname.gsub!(/Ü/, "U"); nname.gsub!(/ü/, "u")
### nname.gsub!(/Ù/, "U"); nname.gsub!(/ù/, "u")
### nname.gsub!(/Û/, "U"); nname.gsub!(/û/, "u")
###
### nname.gsub!('#{160.chr}', "")
### if nname.match(/([#{128.chr}-#{255.chr}])/)
### puts "replacing #{$1] with '*' in '#{nname}'"
### nname.tr!('#{128.chr}-#{255.chr}', "*") # catch all the other stupid shit
### end
nname.sub!(/\s*$/, "")
nname.sub!(/^[\s\.-]*/, "")
print "nname: #{nname}\n" if Debuglevel > 1
newname = nname
newname = nname[0...@maxfilelength] # all the recodings could have made
# the filename too long
count = 1
d = Date.today
date = "#{d.year}#{d.month}#{d.mday}"
@ -287,7 +299,7 @@ def parse_config(default = {})
elsif line =~ /^\}$/
default.each_key{|x|
grouparr.collect{|g|
config[g][x] = default[x] unless config[g].has_key?(x)
config[g][x] = default[x].dup unless config[g].has_key?(x)
}
}
group = ""
@ -686,7 +698,7 @@ def main
elsif !(@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) && @articles.group_percentage_primary(i)
begin
if @articles.group_is_singlepart(i)
get_single(i, group)