small tweaks to the refresh code
This commit is contained in:
parent
e84b181f80
commit
3fde4692d1
5 changed files with 23 additions and 32 deletions
|
@ -42,6 +42,7 @@ while True:
|
|||
else:
|
||||
if cloudbot.do_restart:
|
||||
# create a new bot thread and start it
|
||||
del cloudbot
|
||||
cloudbot = bot.Bot()
|
||||
cloudbot.start()
|
||||
continue
|
||||
|
|
|
@ -45,7 +45,6 @@ def get_logger():
|
|||
logger.addHandler(sh)
|
||||
return logger
|
||||
|
||||
|
||||
class Bot(threading.Thread):
|
||||
def __init__(self):
|
||||
# basic variables
|
||||
|
@ -74,7 +73,6 @@ class Bot(threading.Thread):
|
|||
|
||||
threading.Thread.__init__(self)
|
||||
|
||||
|
||||
def run(self):
|
||||
"""recieves input from the IRC engine and processes it"""
|
||||
self.logger.info("Starting main thread.")
|
||||
|
@ -94,7 +92,6 @@ class Bot(threading.Thread):
|
|||
while self.running and all(c.parsed_queue.empty() for c in self.connections):
|
||||
time.sleep(.1)
|
||||
|
||||
|
||||
def setup(self):
|
||||
"""create the logger and config objects"""
|
||||
# logging
|
||||
|
@ -117,7 +114,6 @@ class Bot(threading.Thread):
|
|||
self.db_session = scoped_session(db_factory)
|
||||
self.logger.debug("Database system initalised.")
|
||||
|
||||
|
||||
def connect(self):
|
||||
"""connect to all the networks defined in the bot config"""
|
||||
for conf in self.config['connections']:
|
||||
|
@ -139,7 +135,6 @@ class Bot(threading.Thread):
|
|||
port=port, channels=conf['channels']))
|
||||
self.logger.debug("({}) Created connection.".format(name))
|
||||
|
||||
|
||||
def stop(self, reason=None):
|
||||
"""quits all networks and shuts the bot down"""
|
||||
self.logger.info("Stopping bot.")
|
||||
|
@ -165,7 +160,6 @@ class Bot(threading.Thread):
|
|||
|
||||
self.running = False
|
||||
|
||||
|
||||
def restart(self, reason=None):
|
||||
"""shuts the bot down and restarts it"""
|
||||
self.do_restart = True
|
||||
|
|
25
core/irc.py
25
core/irc.py
|
@ -29,10 +29,10 @@ def censor(text):
|
|||
|
||||
class ReceiveThread(threading.Thread):
|
||||
"""receives messages from IRC and puts them in the input_queue"""
|
||||
def __init__(self, socket, input_queue, timeout):
|
||||
def __init__(self, sock, input_queue, timeout):
|
||||
self.input_buffer = ""
|
||||
self.input_queue = input_queue
|
||||
self.socket = socket
|
||||
self.socket = sock
|
||||
self.timeout = timeout
|
||||
|
||||
self.shutdown = False
|
||||
|
@ -76,8 +76,8 @@ class ReceiveThread(threading.Thread):
|
|||
|
||||
|
||||
class SSLReceiveThread(ReceiveThread):
|
||||
def __init__(self, socket, input_queue, timeout):
|
||||
ReceiveThread.Thread.__init__(self, socket, input_queue, timeout)
|
||||
def __init__(self, sock, input_queue, timeout):
|
||||
ReceiveThread.__init__(self, sock, input_queue, timeout)
|
||||
|
||||
def recv_from_socket(self, nbytes):
|
||||
return self.socket.read(nbytes)
|
||||
|
@ -94,11 +94,11 @@ class SSLReceiveThread(ReceiveThread):
|
|||
|
||||
class SendThread(threading.Thread):
|
||||
"""sends messages from output_queue to IRC"""
|
||||
def __init__(self, socket, conn_name, output_queue):
|
||||
def __init__(self, sock, conn_name, output_queue):
|
||||
self.output_buffer = ""
|
||||
self.output_queue = output_queue
|
||||
self.conn_name = conn_name
|
||||
self.socket = socket
|
||||
self.socket = sock
|
||||
|
||||
self.shutdown = False
|
||||
threading.Thread.__init__(self)
|
||||
|
@ -151,8 +151,8 @@ class ParseThread(threading.Thread):
|
|||
mask, paramlist, lastparam])
|
||||
# if the server pings us, pong them back
|
||||
if command == "PING":
|
||||
str = "PONG :" + paramlist[0]
|
||||
self.output_queue.put(str)
|
||||
string = "PONG :" + paramlist[0]
|
||||
self.output_queue.put(string)
|
||||
|
||||
|
||||
class IRCConnection(object):
|
||||
|
@ -229,15 +229,14 @@ class IRC(object):
|
|||
self.set_pass(self.config.get('server_password'))
|
||||
self.set_nick(self.nick)
|
||||
self.cmd("USER",
|
||||
[self.config.get('user', 'cloudbot'), "3", "*", self.config.get('realname',
|
||||
'CloudBot - http://git.io/cloudbot')])
|
||||
[self.config.get('user', 'cloudbot'), "3", "*",
|
||||
self.config.get('realname', 'CloudBot - http://git.io/cloudbot')])
|
||||
|
||||
self.parse_thread = ParseThread(self.input_queue, self.output_queue,
|
||||
self.parsed_queue)
|
||||
self.parse_thread.daemon = True
|
||||
self.parse_thread.start()
|
||||
|
||||
|
||||
def create_connection(self):
|
||||
return IRCConnection(self.name, self.server, self.port,
|
||||
self.input_queue, self.output_queue)
|
||||
|
@ -280,8 +279,8 @@ class IRC(object):
|
|||
else:
|
||||
self.send(command)
|
||||
|
||||
def send(self, str):
|
||||
self.output_queue.put(str)
|
||||
def send(self, string):
|
||||
self.output_queue.put(string)
|
||||
|
||||
|
||||
class SSLIRC(IRC):
|
||||
|
|
|
@ -39,12 +39,10 @@ class PluginLoader(object):
|
|||
|
||||
self.load_all()
|
||||
|
||||
|
||||
def stop(self):
|
||||
"""shuts down the plugin reloader"""
|
||||
self.observer.stop()
|
||||
|
||||
|
||||
def load_all(self):
|
||||
"""runs load_file() on all python files in the plugins folder"""
|
||||
files = set(glob.glob(os.path.join(self.path, '*.py')))
|
||||
|
@ -52,7 +50,6 @@ class PluginLoader(object):
|
|||
self.load_file(f, rebuild=True)
|
||||
self.rebuild()
|
||||
|
||||
|
||||
def load_file(self, path, rebuild=False):
|
||||
"""loads (or reloads) all valid plugins from a specified file"""
|
||||
filename = os.path.basename(path)
|
||||
|
@ -118,7 +115,6 @@ class PluginLoader(object):
|
|||
|
||||
self.rebuild()
|
||||
|
||||
|
||||
def rebuild(self):
|
||||
"""rebuilds the cloudbot command and event hook lists"""
|
||||
self.bot.commands = {}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
sqlalchemy
|
||||
oauth2
|
||||
pygeoip
|
||||
tweepy
|
||||
|
|
Reference in a new issue