switch to use python's logging, with config file i'm not entirely happy about

This commit is contained in:
Brian S. Stephan 2012-07-15 21:32:12 -05:00
parent 4100b55de0
commit 9654f4de98
13 changed files with 116 additions and 77 deletions

View File

@ -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()

View File

@ -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

View File

@ -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()

27
logging.cfg Normal file
View File

@ -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 =

View File

@ -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

View File

@ -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:

View File

@ -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):

View File

@ -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):

View File

@ -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

View File

@ -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):

View File

@ -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

View File

@ -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

View File

@ -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