/usr/bin/prime-userdict-convert is in prime 1.0.0.1-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | #!/usr/bin/env ruby
# prime-userdict-convert: A command to convert from userdict2 to
# <new user dict?> for PRIME.
# $Id: prime-userdict-convert.src,v 1.3 2005/03/07 07:51:34 komatsu Exp $
# Copyright (C) 2003 Hiroyuki Komatsu <komatsu@taiyaki.org>
# All rights reserved.
# This is free software with ABSOLUTELY NO WARRANTY.
# You can redistribute it and/or modify it under the terms of
# the GNU General Public License version 2.
PRIME_LIBDIR = '/usr/lib/ruby/1.8'
$LOAD_PATH.unshift(PRIME_LIBDIR) unless $LOAD_PATH.member?(PRIME_LIBDIR)
require 'prime/prime-config'
require 'prime/makedict/userdict'
require 'getoptlong'
class PrimeUserdictConvertCommand
include Debug
def initialize (command_name)
@debug_mode = false
@indexing = true
@conversion = true
@output_dictname = nil
@input_dictname = nil
@command_name = command_name
@version = '1.0.0.1'
@usage = <<"EOF"
#{@command_name}:#{@version} -- converts user dictionaries for PRIME.
Usage: #{@command_name} [options] [output_dictname] [input_dictname]
-a, --all : conversion and indexing (default)
-c, --conversion : conversion only
-i, --indexing : indexing only
--auto : conversion automatically.
-v, --version : show the version and exit
-h, --help : show this help and exit
-d, --debug : run under debug mode
EOF
end
def main ()
parse_options()
if @conversion then
if @output_dictname.nil? or @input_dictname.nil? then
print_usage()
exit()
end
prime_conv = PrimeUserdictConvert.new(@output_dictname)
prime_conv.convert(@input_dictname)
end
if @indexing then
if @output_dictname.nil? then
print_usage()
exit()
end
prime_makeindex = PrimeUserdictMakeIndex.new(@output_dictname)
prime_makeindex.make_indexes()
end
puts "Done."
end
def print_version ()
puts "#{@command_name}:#{@version}"
end
def print_usage ()
puts @usage
end
private
def parse_options ()
options = {}
parser = GetoptLong.new()
parser.set_options(['--help', '-h', GetoptLong::NO_ARGUMENT],
['--version', '-v', GetoptLong::NO_ARGUMENT],
['--debug', '-d', GetoptLong::NO_ARGUMENT],
['--auto', GetoptLong::NO_ARGUMENT],
['--all', '-a', GetoptLong::NO_ARGUMENT],
['--conversion', '-c', GetoptLong::NO_ARGUMENT],
['--indexing', '-i', GetoptLong::NO_ARGUMENT]
)
parser.each_option {|option, arg|
options[option.sub(/^--/, '')] = arg
}
if options['version'] then
print_version()
exit()
elsif options['help'] then
print_usage()
exit()
end
if options['debug'] then
$DEBUG = true
end
@output_dictname = ARGV[0]
@input_dictname = ARGV[1]
if options['auto'] then
@indexing = true
@conversion = true
@input_dictname = (ARGV[0] or (PRIME_USER_DIR + "/userdict_diff"))
@output_dictname = (ARGV[1] or (PRIME_USER_DIR + "/userdict"))
elsif options['all'] then
@indexing = true
@conversion = true
elsif options['indexing'] then
@indexing = true
@conversion = false
elsif options['conversion'] then
@indexing = false
@conversion = true
end
end
end
### FIXME: Check both errors 'file not found' and 'overwriting files'
### FIXME: <komatsu@taiyaki.org> (2003-11-30)
if File::expand_path($0) == File::expand_path(__FILE__) then
conv_command = PrimeUserdictConvertCommand.new(File::basename($0))
conv_command.main()
end
|