rbot-remote: allow override of function
[rbot] / msgmerge-wrapper.rb
1 #!/usr/bin/ruby
2 # This is a wrapper to msgmerge, it executes msgmerge with the given arguments, and
3 # if msgmerge output is empty, prints the content of the file named the first
4 # argument. otherwise it prints the output of msgmerge. The wrapper should be
5 # "compatible" with the real msgmerge if msgmerge output is non-empty, or if the
6 # first argument is the defpo file (instead of an option, or --)
7 #
8 # The path to msgmerge can be specified in env variable REAL_MSGMERGE_PATH
9 #
10 # The purpose is to provide a workaround for ruby-gettext, which treats empty output
11 # from msgmerge as error in the po file, where it should mean that no modification
12 # is needed to the defpo. For updates on the issue follow
13 # http://rubyforge.org/pipermail/gettext-users-en/2008-June/000094.html
14
15
16 msgmerge = ENV['REAL_MSGMERGE_PATH'] || 'msgmerge'
17 defpo = ARGV.shift
18 output = `#{msgmerge} #{defpo} #{ARGV.join ' '}`
19 output = File.read(defpo) if output.empty?
20 STDOUT.write output
21