diff --git a/trunk/ripnews/ripnews.rb b/trunk/ripnews/ripnews.rb index c5fd9c4..1f17f46 100755 --- a/trunk/ripnews/ripnews.rb +++ b/trunk/ripnews/ripnews.rb @@ -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)