blob: 5a16a7e4685b666e8e91904f27f9f5159d28d7a5 (
plain)
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
|
#!/usr/bin/ruby1.8
# NAME
#
# mauveconsole -- Ruby console to query the mauvealert server directly
#
# SYNOPSIS
#
# mauveconsole [-h | --help] [<configuration file>]
#
# OPTIONS
#
# -h, --help Show a help message
# <configuration file> File to load the configuration from. If none is
# specified, then mauvealert.conf in the current
# directory is used, and failing that
# /etc/mauvealert/mauvealert.conf is used.
#
# SEE ALSO
#
# irb(1), mauveserver(1), mauveclient(1)
#
# AUTHOR
#
# Patrick J Cherry <patrick@bytemark.co.uk>
#
def error(msg)
STDERR.print "*** Error: #{msg}\n"
STDERR.print "*** For help, type: #{$0} -h\n"
exit 1
end
# CAUTION! Kwality kode.
#
if ARGV.any?{|a| a =~ /--?h(elp)?/}
# Open the file, stripping the shebang line
lines = File.open(__FILE__){|fh| fh.readlines}[1..-1]
lines.each do |line|
line.chomp!
break if line.empty?
puts line[2..-1].to_s
end
exit 0
end
configuration_file = ARGV.shift
configuration_file = [".", "/etc/mauvealert/"].collect{|x| File.join("mauveserver.conf") }.find{|d| File.file?(d)} if configuration_file.nil?
configuration_file = File.expand_path(configuration_file)
unless File.file?(configuration_file)
error "Configuration file #{configuration_file} not found\n"
end
require 'irb'
require 'thread'
require 'mauve/configuration'
Thread.abort_on_exception = true
include Mauve
begin
Configuration.current = ConfigurationBuilder.load(configuration_file)
rescue StandardError => ex
error ex.message
end
IRB.start
|