35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'src/notam_parser.rb', line 35
def self.map_messages!(messages)
messages.map! do |m|
en_m = m[1..-2]
if m =~ /НОТАМ/
body = en_m[/Е\)(.*)/m, 1]
en_m.gsub!(/(Ц\)[^)]*)РАСЧ/, '\1EST') en_m.gsub!(/(Ц\)[^)]*)ПОСТ/, '\1PERM') en_m.gsub!(/(Д\)[^)]*)ЕЖЕДНЕВНО/, '\1DAILY') en_m.gsub!(/(Д\)[^)]*)ЕЖД/, '\1DAILY') en_m.gsub!(/(Ф\)[^)]*)ПОВЕРХНОСТЬ/, '\1SFC')
en_m = transliterate_ru en_m
notam = NOTAM.parse en_m.gsub!(/\s([A-Z]{1})\)/, "\n\\1)")
notam.data[:content] = body
notam.data[:translated_content] = transliterate_ru body
notam.data[:message] = m
notam.data
else
notam = NOTAM.parse en_m.gsub!(/\s([A-Z]{1})\)/, "\n\\1)")
notam.data[:message] = m
notam.data
end
rescue =>e
{ parse_error: e.message, message: m, message_en: en_m }
end
end
|