Minor fix for compatibility with Ruby versions that don't understand
[mailvisa.git] / wordlist.rb
blob8e701f5979b565fe80be4159b928f5d2a698f142
1 def dump_wordlist wordlist, stream
2         stream.puts 'Content-Type: text/x-mailvisa-wordlist'
3         stream.puts 'Version: 1'
4         stream.puts 'Messages: ' + wordlist[:messages].to_s
5         stream.puts
6         wordlist[:words].each { |k,v| stream.puts k + "\t" + v.to_s }
7 end
9 def load_wordlist stream
10         header = {}
11         while true
12                 line = stream.gets
13                 break if line == nil
14                 line = line.chomp
15                 break if line == ''
16                 key, value = line.split ': '
17                 header[key] = value
18         end
20         raise 'Invalid file format' if
21                 header['Content-Type'] != 'text/x-mailvisa-wordlist'
22         raise 'Unsupported wordlist version: ' + header['Version'] if
23                 header['Version'] != '1'
25         wordlist = {
26                 :messages => header['Messages'].to_i
27         }
29         words = {}
30         stream.each do |line|
31                 key, value = line.split "\t"
32                 words[key] = value.to_f
33         end
35         wordlist[:words] = words
36         wordlist
37 end