Code

Small syntax fix
[nagixsc.git] / nagixsc_conf2xml.py
1 #!/usr/bin/python
3 import optparse
4 import sys
6 ##############################################################################
8 from nagixsc import *
10 ##############################################################################
12 parser = optparse.OptionParser()
14 parser.add_option('-c', '', dest='conffile', help='Config file')
15 parser.add_option('-o', '', dest='outfile', help='Output file')
16 parser.add_option('-e', '', dest='encoding', help='Encoding ("%s")' % '", "'.join(available_encodings()) )
17 parser.add_option('-H', '', dest='host', help='Hostname/section to search for in config file')
18 parser.add_option('-D', '', dest='service', help='Service description to search for in config file (needs -H)')
19 parser.add_option('-v', '', action='count', dest='verb', help='Verbose output')
21 parser.set_defaults(conffile='nagixsc.conf')
22 parser.set_defaults(outfile='-')
23 parser.set_defaults(encoding='base64')
24 parser.set_defaults(host=None)
25 parser.set_defaults(service=None)
26 parser.set_defaults(verb=0)
28 (options, args) = parser.parse_args()
30 ##############################################################################
32 if not check_encoding(options.encoding):
33         print 'Wrong encoding method "%s"!' % options.encoding
34         print 'Could be one of: "%s"' % '", "'.join(available_encodings())
35         sys.exit(127)
37 ##############################################################################
39 config = read_inifile(options.conffile)
41 if not config:
42         print 'Config file "%s" could not be read!' % options.conffile
43         sys.exit(5)
45 checks = conf2dict(config, options.host, options.service)
47 xmldoc = xml_from_dict(checks, options.encoding)
48 if options.outfile == '-':
49         xmldoc.saveFormatFile('-', format=1)
50 else:
51         xmldoc.saveFile(options.outfile)