switch to use python's logging, with config file i'm not entirely happy about
This commit is contained in:
parent
4100b55de0
commit
9654f4de98
15
DrBotIRC.py
15
DrBotIRC.py
|
@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
import bisect
|
import bisect
|
||||||
import copy
|
import copy
|
||||||
from ConfigParser import NoOptionError, NoSectionError
|
from ConfigParser import NoOptionError, NoSectionError
|
||||||
|
import logging
|
||||||
import re
|
import re
|
||||||
import signal
|
import signal
|
||||||
from SimpleXMLRPCServer import SimpleXMLRPCServer
|
from SimpleXMLRPCServer import SimpleXMLRPCServer
|
||||||
|
@ -37,6 +38,7 @@ class DrBotzoMethods:
|
||||||
"""Store the same stuff the core module would, since we'll probably need it."""
|
"""Store the same stuff the core module would, since we'll probably need it."""
|
||||||
|
|
||||||
self.irc = irc
|
self.irc = irc
|
||||||
|
self.log = logging.getLogger('dr.botzo')
|
||||||
|
|
||||||
def echo(self, message):
|
def echo(self, message):
|
||||||
"""
|
"""
|
||||||
|
@ -95,6 +97,7 @@ class DrBotServerConnection(irclib.ServerConnection):
|
||||||
|
|
||||||
# temporary. hopefully on_welcome() will set this
|
# temporary. hopefully on_welcome() will set this
|
||||||
self.nickmask = socket.getfqdn()
|
self.nickmask = socket.getfqdn()
|
||||||
|
self.log = logging.getLogger('dr.botzo')
|
||||||
|
|
||||||
self.add_global_handler('welcome', self.on_welcome, 1)
|
self.add_global_handler('welcome', self.on_welcome, 1)
|
||||||
|
|
||||||
|
@ -149,6 +152,7 @@ class DrBotIRC(irclib.IRC):
|
||||||
|
|
||||||
self.config = config
|
self.config = config
|
||||||
self.xmlrpc = None
|
self.xmlrpc = None
|
||||||
|
self.log = logging.getLogger('dr.botzo')
|
||||||
|
|
||||||
# handle SIGINT
|
# handle SIGINT
|
||||||
signal.signal(signal.SIGINT, self.sigint_handler)
|
signal.signal(signal.SIGINT, self.sigint_handler)
|
||||||
|
@ -187,7 +191,7 @@ class DrBotIRC(irclib.IRC):
|
||||||
if self.config.has_section('Ignore'):
|
if self.config.has_section('Ignore'):
|
||||||
alias = self.config.get('Ignore', nick.lower())
|
alias = self.config.get('Ignore', nick.lower())
|
||||||
if alias:
|
if alias:
|
||||||
print("ignoring " + nick + " as per config file")
|
self.log.debug("ignoring " + nick + " as per config file")
|
||||||
return
|
return
|
||||||
except NoOptionError: pass
|
except NoOptionError: pass
|
||||||
|
|
||||||
|
@ -202,8 +206,9 @@ class DrBotIRC(irclib.IRC):
|
||||||
return
|
return
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
exc_type, exc_value, exc_traceback = sys.exc_info()
|
exc_type, exc_value, exc_traceback = sys.exc_info()
|
||||||
print("exception floated up to DrBotIrc!")
|
self.log.error("exception floated up to DrBotIrc!")
|
||||||
traceback.print_exception(exc_type, exc_value, exc_traceback)
|
self.log.error(exc_type + ": " + exc_value)
|
||||||
|
self.log.error(exc_traceback)
|
||||||
|
|
||||||
def xmlrpc_register_function(self, func, name):
|
def xmlrpc_register_function(self, func, name):
|
||||||
"""Add a method to the XML-RPC interface."""
|
"""Add a method to the XML-RPC interface."""
|
||||||
|
@ -383,7 +388,7 @@ class DrBotIRC(irclib.IRC):
|
||||||
module.shutdown()
|
module.shutdown()
|
||||||
|
|
||||||
connection.quit(msg)
|
connection.quit(msg)
|
||||||
print(self.save_config())
|
self.log.info(self.save_config())
|
||||||
self._xmlrpc_shutdown()
|
self._xmlrpc_shutdown()
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
@ -493,7 +498,7 @@ class DrBotIRC(irclib.IRC):
|
||||||
module.save()
|
module.save()
|
||||||
module.shutdown()
|
module.shutdown()
|
||||||
|
|
||||||
print(self.save_config())
|
self.log.info(self.save_config())
|
||||||
self._xmlrpc_shutdown()
|
self._xmlrpc_shutdown()
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
10
Module.py
10
Module.py
|
@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
from ConfigParser import NoSectionError, NoOptionError
|
from ConfigParser import NoSectionError, NoOptionError
|
||||||
|
|
||||||
import inspect
|
import inspect
|
||||||
|
import logging
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
@ -40,6 +41,7 @@ class Module(object):
|
||||||
self.irc = irc
|
self.irc = irc
|
||||||
self.config = config
|
self.config = config
|
||||||
self.server = server
|
self.server = server
|
||||||
|
self.log = logging.getLogger('dr.botzo')
|
||||||
|
|
||||||
self.is_shutdown = False
|
self.is_shutdown = False
|
||||||
|
|
||||||
|
@ -47,7 +49,7 @@ class Module(object):
|
||||||
self.db_init()
|
self.db_init()
|
||||||
|
|
||||||
# print what was loaded, for debugging
|
# print what was loaded, for debugging
|
||||||
print("loaded " + self.__class__.__name__)
|
self.log.debug("loaded " + self.__class__.__name__)
|
||||||
|
|
||||||
def register_handlers(self):
|
def register_handlers(self):
|
||||||
"""Hook handler functions into the IRC library. This is called when the
|
"""Hook handler functions into the IRC library. This is called when the
|
||||||
|
@ -203,7 +205,7 @@ class Module(object):
|
||||||
conn.close()
|
conn.close()
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
conn.close()
|
conn.close()
|
||||||
print("sqlite error:" + str(e))
|
self.log.error("sqlite error:" + str(e))
|
||||||
|
|
||||||
return version
|
return version
|
||||||
|
|
||||||
|
@ -218,7 +220,7 @@ class Module(object):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def db_init(self):
|
def db_init(self):
|
||||||
|
@ -234,7 +236,7 @@ class Module(object):
|
||||||
events.
|
events.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
print("looks like someone forgot to implement do!")
|
self.log.error("looks like someone forgot to implement do!")
|
||||||
|
|
||||||
def help_description(self):
|
def help_description(self):
|
||||||
"""Return a quick list of commands or other summary, should be
|
"""Return a quick list of commands or other summary, should be
|
||||||
|
|
|
@ -17,6 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from ConfigParser import ConfigParser, NoSectionError, NoOptionError
|
from ConfigParser import ConfigParser, NoSectionError, NoOptionError
|
||||||
|
import logging
|
||||||
|
import logging.config
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
@ -56,6 +58,9 @@ except NoOptionError as e:
|
||||||
# load additional options
|
# load additional options
|
||||||
irclib.DEBUG = config.getboolean('dr.botzo', 'debug')
|
irclib.DEBUG = config.getboolean('dr.botzo', 'debug')
|
||||||
|
|
||||||
|
logging.config.fileConfig('logging.cfg')
|
||||||
|
log = logging.getLogger('dr.botzo')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# make sure we can initialize the database, if such a thing is
|
# make sure we can initialize the database, if such a thing is
|
||||||
# called for in the config file
|
# called for in the config file
|
||||||
|
@ -96,9 +101,9 @@ try:
|
||||||
for mod in mods:
|
for mod in mods:
|
||||||
irc.load_module(mod)
|
irc.load_module(mod)
|
||||||
except NoSectionError as e:
|
except NoSectionError as e:
|
||||||
print("You seem to be missing a modules config section, which you probably wanted.")
|
log.error("You seem to be missing a modules config section, which you probably wanted.")
|
||||||
except NoOptionError as e:
|
except NoOptionError as e:
|
||||||
print("You seem to be missing a modlist config option, which you probably wanted.")
|
log.error("You seem to be missing a modlist config option, which you probably wanted.")
|
||||||
|
|
||||||
# loop forever
|
# loop forever
|
||||||
irc.process_forever()
|
irc.process_forever()
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
[loggers]
|
||||||
|
keys = root,dr.botzo
|
||||||
|
|
||||||
|
[handlers]
|
||||||
|
keys = dr.botzo
|
||||||
|
|
||||||
|
[formatters]
|
||||||
|
keys = dr.botzo
|
||||||
|
|
||||||
|
[logger_root]
|
||||||
|
level = DEBUG
|
||||||
|
handlers = dr.botzo
|
||||||
|
|
||||||
|
[logger_dr.botzo]
|
||||||
|
level = DEBUG
|
||||||
|
handlers = dr.botzo
|
||||||
|
propagate = 1
|
||||||
|
qualname = drbotzo
|
||||||
|
|
||||||
|
[handler_dr.botzo]
|
||||||
|
class = StreamHandler
|
||||||
|
level = DEBUG
|
||||||
|
args = (sys.stdout,)
|
||||||
|
|
||||||
|
[formatter_dr.botzo]
|
||||||
|
format = %(asctime)s %(levelname)s %(message)s
|
||||||
|
datefmt =
|
|
@ -113,7 +113,7 @@ class Achievements(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
if (version < 2):
|
if (version < 2):
|
||||||
db = self.get_db()
|
db = self.get_db()
|
||||||
|
@ -129,7 +129,7 @@ class Achievements(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
if (version < 3):
|
if (version < 3):
|
||||||
db = self.get_db()
|
db = self.get_db()
|
||||||
|
@ -154,7 +154,7 @@ class Achievements(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def register_handlers(self):
|
def register_handlers(self):
|
||||||
|
@ -202,7 +202,7 @@ class Achievements(Module):
|
||||||
if event.source().find('!') >= 0:
|
if event.source().find('!') >= 0:
|
||||||
nick = irclib.nm_to_n(event.source())
|
nick = irclib.nm_to_n(event.source())
|
||||||
userhost = irclib.nm_to_uh(event.source())
|
userhost = irclib.nm_to_uh(event.source())
|
||||||
print('good: ' + nick + ' ' + userhost + ' ' + event.eventtype() + ' ' + str(event.target()))
|
self.log.debug('good: ' + nick + ' ' + userhost + ' ' + event.eventtype() + ' ' + str(event.target()))
|
||||||
if event.arguments():
|
if event.arguments():
|
||||||
msg = event.arguments()[0]
|
msg = event.arguments()[0]
|
||||||
msg_len = len(event.arguments()[0])
|
msg_len = len(event.arguments()[0])
|
||||||
|
@ -213,9 +213,9 @@ class Achievements(Module):
|
||||||
player_id = self._get_or_add_player(nick, userhost)
|
player_id = self._get_or_add_player(nick, userhost)
|
||||||
self._add_event(player_id, event.eventtype(), event.target(), msg, msg_len)
|
self._add_event(player_id, event.eventtype(), event.target(), msg, msg_len)
|
||||||
else:
|
else:
|
||||||
print('bad: ' + event.source() + ' ' + event.eventtype())
|
self.log.debug('bad: ' + event.source() + ' ' + event.eventtype())
|
||||||
else:
|
else:
|
||||||
print('really bad: ' + event.eventtype())
|
self.log.debug('really bad: ' + event.eventtype())
|
||||||
|
|
||||||
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
||||||
"""Do stuff when commanded."""
|
"""Do stuff when commanded."""
|
||||||
|
@ -265,7 +265,7 @@ class Achievements(Module):
|
||||||
return result['id']
|
return result['id']
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _add_event(self, player_id, event, target, msg, msg_len):
|
def _add_event(self, player_id, event, target, msg, msg_len):
|
||||||
|
@ -303,7 +303,7 @@ class Achievements(Module):
|
||||||
return event_id
|
return event_id
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_achievements_settings(self):
|
def _get_achievements_settings(self):
|
||||||
|
@ -323,7 +323,7 @@ class Achievements(Module):
|
||||||
return settings
|
return settings
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _join_system(self, nick):
|
def _join_system(self, nick):
|
||||||
|
@ -339,7 +339,7 @@ class Achievements(Module):
|
||||||
return nick + ' joined.'
|
return nick + ' joined.'
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _leave_system(self, nick):
|
def _leave_system(self, nick):
|
||||||
|
@ -355,7 +355,7 @@ class Achievements(Module):
|
||||||
return nick + ' left.'
|
return nick + ' left.'
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _add_player_to_achievement_log(self, player_id, achievement_id):
|
def _add_player_to_achievement_log(self, player_id, achievement_id):
|
||||||
|
@ -371,7 +371,7 @@ class Achievements(Module):
|
||||||
return
|
return
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_achievement_info(self, achievement):
|
def _get_achievement_info(self, achievement):
|
||||||
|
@ -387,7 +387,7 @@ class Achievements(Module):
|
||||||
return result['desc']
|
return result['desc']
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_player_achievements(self, nick):
|
def _get_player_achievements(self, nick):
|
||||||
|
@ -412,7 +412,7 @@ class Achievements(Module):
|
||||||
return achievements
|
return achievements
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _do_achievement_scan(self):
|
def _do_achievement_scan(self):
|
||||||
|
@ -446,7 +446,7 @@ class Achievements(Module):
|
||||||
achievements = cursor.fetchall()
|
achievements = cursor.fetchall()
|
||||||
|
|
||||||
for achievement in achievements:
|
for achievement in achievements:
|
||||||
print('checking achievement:[' + achievement['name'] + ']')
|
self.log.debug('checking achievement:[' + achievement['name'] + ']')
|
||||||
query = '''
|
query = '''
|
||||||
SELECT p.id, p.nick FROM achievements_player p WHERE
|
SELECT p.id, p.nick FROM achievements_player p WHERE
|
||||||
p.nick IN (
|
p.nick IN (
|
||||||
|
@ -465,7 +465,7 @@ class Achievements(Module):
|
||||||
ach_achievers = cursor.fetchall()
|
ach_achievers = cursor.fetchall()
|
||||||
|
|
||||||
for ach_achiever in ach_achievers:
|
for ach_achiever in ach_achievers:
|
||||||
print('name:[' + ach_achiever['nick'] + '] achievement:[' + achievement['name'] + ']')
|
self.log.debug('name:[' + ach_achiever['nick'] + '] achievement:[' + achievement['name'] + ']')
|
||||||
self._add_player_to_achievement_log(ach_achiever['id'], achievement['id'])
|
self._add_player_to_achievement_log(ach_achiever['id'], achievement['id'])
|
||||||
achievers.append((ach_achiever['nick'], achievement['name']))
|
achievers.append((ach_achiever['nick'], achievement['name']))
|
||||||
|
|
||||||
|
@ -473,7 +473,7 @@ class Achievements(Module):
|
||||||
return achievers
|
return achievers
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
# vi:tabstop=4:expandtab:autoindent
|
# vi:tabstop=4:expandtab:autoindent
|
||||||
|
|
|
@ -285,7 +285,7 @@ class Acro(Module):
|
||||||
|
|
||||||
i = 0
|
i = 0
|
||||||
for s in self.game.rounds[-1].sub_shuffle:
|
for s in self.game.rounds[-1].sub_shuffle:
|
||||||
print(str(i) + " is " + s)
|
self.log.debug(str(i) + " is " + s)
|
||||||
self.sendmsg(self.game.connection, self.game.channel,
|
self.sendmsg(self.game.connection, self.game.channel,
|
||||||
" {0:d}: {1:s}".format(i+1, self.game.rounds[-1].submissions[s]))
|
" {0:d}: {1:s}".format(i+1, self.game.rounds[-1].submissions[s]))
|
||||||
i += 1
|
i += 1
|
||||||
|
@ -296,7 +296,7 @@ class Acro(Module):
|
||||||
if self.game.state == 3:
|
if self.game.state == 3:
|
||||||
acros = self.game.rounds[-1].submissions
|
acros = self.game.rounds[-1].submissions
|
||||||
if int(vote) > 0 and int(vote) <= len(acros):
|
if int(vote) > 0 and int(vote) <= len(acros):
|
||||||
print(vote + " is " + self.game.rounds[-1].sub_shuffle[int(vote)-1])
|
self.log.debug(vote + " is " + self.game.rounds[-1].sub_shuffle[int(vote)-1])
|
||||||
key = self.game.rounds[-1].sub_shuffle[int(vote)-1]
|
key = self.game.rounds[-1].sub_shuffle[int(vote)-1]
|
||||||
|
|
||||||
if key != nick:
|
if key != nick:
|
||||||
|
|
|
@ -62,7 +62,7 @@ class Facts(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
||||||
|
|
|
@ -77,7 +77,7 @@ class Karma(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
conn.rollback()
|
conn.rollback()
|
||||||
conn.close()
|
conn.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
if (version < 2):
|
if (version < 2):
|
||||||
conn = self.get_db()
|
conn = self.get_db()
|
||||||
|
@ -95,7 +95,7 @@ class Karma(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
conn.rollback()
|
conn.rollback()
|
||||||
conn.close()
|
conn.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
if (version < 3):
|
if (version < 3):
|
||||||
conn = self.get_db()
|
conn = self.get_db()
|
||||||
|
@ -109,7 +109,7 @@ class Karma(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
conn.rollback()
|
conn.rollback()
|
||||||
conn.close()
|
conn.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
||||||
|
|
|
@ -135,7 +135,7 @@ class Markov(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def register_handlers(self):
|
def register_handlers(self):
|
||||||
|
@ -319,7 +319,7 @@ class Markov(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error in Markov._learn_line: " + str(e))
|
self.log.error("sqlite error in Markov._learn_line: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _generate_line(self, target, line='', min_size=15, max_size=100):
|
def _generate_line(self, target, line='', min_size=15, max_size=100):
|
||||||
|
@ -437,7 +437,7 @@ class Markov(Module):
|
||||||
return values
|
return values
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error in Markov._retrieve_chains_for_key: ' + str(e))
|
self.log.error('sqlite error in Markov._retrieve_chains_for_key: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _retrieve_k2_for_value(self, v, context_id):
|
def _retrieve_k2_for_value(self, v, context_id):
|
||||||
|
@ -457,7 +457,7 @@ class Markov(Module):
|
||||||
return values
|
return values
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error in Markov._retrieve_k2_for_value: ' + str(e))
|
self.log.error('sqlite error in Markov._retrieve_k2_for_value: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_chatter_targets(self):
|
def _get_chatter_targets(self):
|
||||||
|
@ -473,7 +473,7 @@ class Markov(Module):
|
||||||
return results
|
return results
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error in Markov._get_chatter_targets: ' + str(e))
|
self.log.error('sqlite error in Markov._get_chatter_targets: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_one_chatter_target(self):
|
def _get_one_chatter_target(self):
|
||||||
|
@ -500,7 +500,7 @@ class Markov(Module):
|
||||||
return None
|
return None
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error in Markov._get_max_chain_id: ' + str(e))
|
self.log.error('sqlite error in Markov._get_max_chain_id: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_context_id_for_target(self, target):
|
def _get_context_id_for_target(self, target):
|
||||||
|
@ -526,7 +526,7 @@ class Markov(Module):
|
||||||
return self._get_context_id_for_target(target)
|
return self._get_context_id_for_target(target)
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error in Markov._get_context_id_for_target: ' + str(e))
|
self.log.error('sqlite error in Markov._get_context_id_for_target: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _add_context_for_target(self, target):
|
def _add_context_for_target(self, target):
|
||||||
|
@ -548,7 +548,7 @@ class Markov(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error in Markov._add_context_for_target: " + str(e))
|
self.log.error("sqlite error in Markov._add_context_for_target: " + str(e))
|
||||||
raise
|
raise
|
||||||
try:
|
try:
|
||||||
db = self.get_db()
|
db = self.get_db()
|
||||||
|
@ -569,7 +569,7 @@ class Markov(Module):
|
||||||
return self._get_context_id_for_target(target)
|
return self._get_context_id_for_target(target)
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error in Markov._get_context_id_for_target: ' + str(e))
|
self.log.error('sqlite error in Markov._get_context_id_for_target: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
# vi:tabstop=4:expandtab:autoindent
|
# vi:tabstop=4:expandtab:autoindent
|
||||||
|
|
|
@ -66,7 +66,7 @@ class Pi(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
||||||
|
|
|
@ -51,7 +51,7 @@ class Seen(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
if version < 2:
|
if version < 2:
|
||||||
db = self.get_db()
|
db = self.get_db()
|
||||||
|
@ -75,7 +75,7 @@ class Seen(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
||||||
|
@ -96,7 +96,7 @@ class Seen(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
match = re.search('^!seen\s+(\S+)$', what)
|
match = re.search('^!seen\s+(\S+)$', what)
|
||||||
|
@ -117,7 +117,7 @@ class Seen(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
# vi:tabstop=4:expandtab:autoindent
|
# vi:tabstop=4:expandtab:autoindent
|
||||||
|
|
|
@ -159,7 +159,7 @@ class Storycraft(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, what, admin_unlocked):
|
||||||
|
@ -555,7 +555,7 @@ class Storycraft(Module):
|
||||||
return game
|
return game
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_game_summary(self, game):
|
def _get_game_summary(self, game):
|
||||||
|
@ -616,7 +616,7 @@ class Storycraft(Module):
|
||||||
return cur.lastrowid
|
return cur.lastrowid
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_player_list_for_game(self, game_id):
|
def _get_player_list_for_game(self, game_id):
|
||||||
|
@ -643,7 +643,7 @@ class Storycraft(Module):
|
||||||
return players
|
return players
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_game_exists(self, game_id):
|
def _get_game_exists(self, game_id):
|
||||||
|
@ -666,7 +666,7 @@ class Storycraft(Module):
|
||||||
return game_id
|
return game_id
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _pick_next_player(self, game_id):
|
def _pick_next_player(self, game_id):
|
||||||
|
@ -730,7 +730,7 @@ class Storycraft(Module):
|
||||||
return cur.lastrowid
|
return cur.lastrowid
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _end_game(self, game_id):
|
def _end_game(self, game_id):
|
||||||
|
@ -749,7 +749,7 @@ class Storycraft(Module):
|
||||||
return game_id
|
return game_id
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_player_by_id(self, player_id):
|
def _get_player_by_id(self, player_id):
|
||||||
|
@ -773,7 +773,7 @@ class Storycraft(Module):
|
||||||
return player
|
return player
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_player_by_userhost_in_game(self, game_id, userhost):
|
def _get_player_by_userhost_in_game(self, game_id, userhost):
|
||||||
|
@ -797,7 +797,7 @@ class Storycraft(Module):
|
||||||
return player
|
return player
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_completed_games(self):
|
def _get_completed_games(self):
|
||||||
|
@ -853,7 +853,7 @@ class Storycraft(Module):
|
||||||
return games
|
return games
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_games_waiting_on_player(self, player_nick):
|
def _get_games_waiting_on_player(self, player_nick):
|
||||||
|
@ -905,7 +905,7 @@ class Storycraft(Module):
|
||||||
return games
|
return games
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_games_of_type(self, game_type):
|
def _get_games_of_type(self, game_type):
|
||||||
|
@ -944,7 +944,7 @@ class Storycraft(Module):
|
||||||
return games
|
return games
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _add_player_to_game(self, game_id, nick, userhost):
|
def _add_player_to_game(self, game_id, nick, userhost):
|
||||||
|
@ -963,7 +963,7 @@ class Storycraft(Module):
|
||||||
return cur.lastrowid
|
return cur.lastrowid
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_player_exists_in_game(self, game_id, userhost):
|
def _get_player_exists_in_game(self, game_id, userhost):
|
||||||
|
@ -1009,7 +1009,7 @@ class Storycraft(Module):
|
||||||
count = result['COUNT(*)']
|
count = result['COUNT(*)']
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
return count
|
return count
|
||||||
|
@ -1029,7 +1029,7 @@ class Storycraft(Module):
|
||||||
concurrency = result['concurrent_games']
|
concurrency = result['concurrent_games']
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
return concurrency
|
return concurrency
|
||||||
|
@ -1063,7 +1063,7 @@ class Storycraft(Module):
|
||||||
return lines
|
return lines
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _update_line(self, line_id, input_line):
|
def _update_line(self, line_id, input_line):
|
||||||
|
@ -1081,7 +1081,7 @@ class Storycraft(Module):
|
||||||
return line_id
|
return line_id
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _export_game_to_disk(self, game, lines):
|
def _export_game_to_disk(self, game, lines):
|
||||||
|
@ -1144,7 +1144,7 @@ class Storycraft(Module):
|
||||||
return settings
|
return settings
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print('sqlite error: ' + str(e))
|
self.log.error('sqlite error: ' + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
# vi:tabstop=4:expandtab:autoindent
|
# vi:tabstop=4:expandtab:autoindent
|
||||||
|
|
|
@ -81,9 +81,9 @@ class Twitter(Module):
|
||||||
# print timeline stuff. this will set up the appropriate timer
|
# print timeline stuff. this will set up the appropriate timer
|
||||||
self._check_self_timeline()
|
self._check_self_timeline()
|
||||||
|
|
||||||
print("Logged in to Twitter with saved token.")
|
self.log.debug("Logged in to Twitter with saved token.")
|
||||||
else:
|
else:
|
||||||
print("Could not log in to Twitter with saved token.")
|
self.log.error("Could not log in to Twitter with saved token.")
|
||||||
self.twit = twitter.Api()
|
self.twit = twitter.Api()
|
||||||
else:
|
else:
|
||||||
# create a default twitter API account, in case we never auth
|
# create a default twitter API account, in case we never auth
|
||||||
|
@ -113,7 +113,7 @@ class Twitter(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
if version < 2:
|
if version < 2:
|
||||||
db = self.get_db()
|
db = self.get_db()
|
||||||
|
@ -129,7 +129,7 @@ class Twitter(Module):
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
|
@ -200,7 +200,7 @@ class Twitter(Module):
|
||||||
else:
|
else:
|
||||||
index = 0
|
index = 0
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
print("Couldn't convert index: " + str(e))
|
self.log.error("Couldn't convert index: " + str(e))
|
||||||
index = 0
|
index = 0
|
||||||
|
|
||||||
count = (-1*index) + 1
|
count = (-1*index) + 1
|
||||||
|
@ -310,7 +310,7 @@ class Twitter(Module):
|
||||||
try:
|
try:
|
||||||
return self.twit.VerifyCredentials()
|
return self.twit.VerifyCredentials()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("Exception in checking login status: " + str(e))
|
self.log.error("Exception in checking login status: " + str(e))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def _log_in_to_twitter(self, oauth_token, oauth_token_secret):
|
def _log_in_to_twitter(self, oauth_token, oauth_token_secret):
|
||||||
|
@ -405,7 +405,7 @@ class Twitter(Module):
|
||||||
return result['since_id']
|
return result['since_id']
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_output_channel(self):
|
def _get_output_channel(self):
|
||||||
|
@ -421,7 +421,7 @@ class Twitter(Module):
|
||||||
return result['output_channel']
|
return result['output_channel']
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _set_last_since_id(self, since_id):
|
def _set_last_since_id(self, since_id):
|
||||||
|
@ -436,7 +436,7 @@ class Twitter(Module):
|
||||||
db.close()
|
db.close()
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _get_latest_tweet_id(self, tweets, since_id):
|
def _get_latest_tweet_id(self, tweets, since_id):
|
||||||
|
@ -461,7 +461,7 @@ class Twitter(Module):
|
||||||
db.close()
|
db.close()
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _retrieve_stored_auth_tokens(self):
|
def _retrieve_stored_auth_tokens(self):
|
||||||
|
@ -477,7 +477,7 @@ class Twitter(Module):
|
||||||
return (result['oauth_token'], result['oauth_token_secret'])
|
return (result['oauth_token'], result['oauth_token_secret'])
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
db.close()
|
db.close()
|
||||||
print("sqlite error: " + str(e))
|
self.log.error("sqlite error: " + str(e))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue