uses a config file now

This commit is contained in:
Steve 'Ashcrow' Milner 2010-02-06 22:57:33 -05:00
parent 34101ad0f9
commit aaa7200fa2
2 changed files with 42 additions and 14 deletions

9
conf/example.conf Normal file
View file

@ -0,0 +1,9 @@
[irc]
network = irc.freenode.net
port = 6667
channels = #test2134
nick = Testbot444324
owners = some,people
[log]
folder = logs

View file

@ -33,20 +33,13 @@ __license__ = "GPL2"
import os
import os.path
import irclib
from ConfigParser import ConfigParser
from ftplib import FTP
from optparse import OptionParser
from time import strftime
# Customizable Variables
########################
network = 'irc.freenode.net'
port = 6667
channels = ['#excid3', '#keryx']
nick = 'Timber'
owner = ['excid3|asus', 'mac9416']
logs_folder = 'logs'
html_header = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -158,9 +151,35 @@ class LogBot(object):
self.server.join(channel)
def main():
def main(conf):
"""
Start the bot using a config file.
:Parameters:
- `conf`: config file location
"""
CONFIG = ConfigParser()
CONFIG.read(conf)
network = CONFIG.get('irc', 'network')
port = CONFIG.getint('irc', 'port')
channels = CONFIG.get('irc', 'channels').split(',')
nick = CONFIG.get('irc', 'nick')
owner = CONFIG.get('irc', 'owners').split(',')
logs_folder = CONFIG.get('log', 'folder')
bot = LogBot(network, port, channels, owner, nick, logs_folder)
bot.start()
try:
bot.start()
except KeyboardInterrupt:
pass
if __name__ == '__main__':
main()
# Require a config
parser = OptionParser()
parser.add_option('-c', '--config', dest='conf', help='Config to use')
(options, args) = parser.parse_args()
if not options.conf or not os.access(options.conf, os.R_OK):
parser.print_help()
raise SystemExit(1)
main(options.conf)