gozerbot.utils.reboot

reboot stuff.

gozerbot.utils.reboot.reboot()
gozerbot.utils.reboot.reboot_stateful(bot, ievent, fleet, partyline)

reboot the bot, but keep the connections

CODE

# gozerbot/utils/reboot.py
#
#

""" reboot stuff. """

__status__ = "seen"

gozerbot imports

from gozerbot.fleet import fleet
from gozerbot.config import config

simplejson imports

from simplejson import dump

basic imports

import os
import sys
import pickle
import tempfile

reboot function

def reboot():
    fleet.exit()
    os.execl(sys.argv[0], *sys.argv)

reboot_stateful function

def reboot_stateful(bot, ievent, fleet, partyline):
    """ reboot the bot, but keep the connections """
    config.reload()
    session = {'bots': {}, 'name': bot.name, 'channel': ievent.channel, 'partyline': []}
    for i in fleet.bots: session['bots'].update(i._resumedata())
    session['partyline'] = partyline._resumedata()
    sessionfile = tempfile.mkstemp('-session', 'gozerbot-')[1]
    dump(session, open(sessionfile, 'w'))
    fleet.save()
    fleet.exit(jabber=True)
    os.execl(sys.argv[0], sys.argv[0], '-r', sessionfile)

Table Of Contents

Previous topic

gozerbot.utils.popen

Next topic

gozerbot.utils.rsslist

This Page