def onUpdateDatabase(current, version):
	# Find the update table for the database driver in use
	driver = database.driver(WORLD)
	if driver == 'mysql':
		updates = MYSQL_UPDATES
	elif driver == 'sqlite':
		updates = SQLITE_UPDATES
	else:
		console.log(LOG_ERROR, "Unknown database driver: %s.\n" % driver)
		return False

	for i in range(version, current):
		# No update for this version available
		if not updates.has_key(i):
			console.log(LOG_ERROR, "No update available for database version %u.\n" % i)
			return False

		console.log(LOG_MESSAGE, "Updating database from version %u to %u.\n" % (i, i+1))

		try:
			if not updates[i]():
				return False
		except Exception, e:
			console.log(LOG_ERROR, str(e) + "\n")
			return False

		wolfpack.setoption('db_version', str(i + 1))
		try:
			if driver == 'mysql':
				database.execute("REPLACE INTO `settings` VALUES('db_version', '%u');" % (i + 1))
			elif driver == 'sqlite':
				database.execute("REPLACE INTO settings VALUES('db_version', '%u');" % (i + 1))
		except Exception, e:
			console.log(LOG_WARNING, "Unable to update database version to %u:\n%s\n" % (i + 1, str(e)))
def onUpdateAcctDatabase(current, version):
	database.open(ACCOUNTS)

	driver = database.driver(ACCOUNTS)
	if driver == 'mysql':
		updates = ACCT_MYSQL_UPDATES
	elif driver == 'sqlite':
		updates = ACCT_SQLITE_UPDATES
	else:
		console.log(LOG_ERROR, "Unknown database driver for Accounts: %s.\n" % driver)
		database.close(ACCOUNTS)
		return False

	for i in range(version, current):
		# No update for this version available
		if not i in updates:
			console.log(LOG_ERROR, "No update available for database version %u.\n" % i)
			database.close(ACCOUNTS)
			return False

		console.log(LOG_MESSAGE, "Updating database from version %u to %u.\n" % (i, i+1))

		try:
			if not updates[i]():
				database.close(ACCOUNTS)
				return False
		except Exception, e:
			console.log(LOG_ERROR, str(e) + "\n")
			database.close(ACCOUNTS)
			return False

		# Updating Version Number
		updateacctversion(i+1, driver)
Beispiel #3
0
def onUpdateDatabase(current, version):
    # Find the update table for the database driver in use
    driver = database.driver(WORLD)
    if driver == 'mysql':
        updates = MYSQL_UPDATES
    elif driver == 'sqlite':
        updates = SQLITE_UPDATES
    else:
        console.log(LOG_ERROR, "Unknown database driver: %s.\n" % driver)
        return False

    for i in range(version, current):
        # No update for this version available
        if not i in updates:
            console.log(LOG_ERROR,
                        "No update available for database version %u.\n" % i)
            return False

        console.log(LOG_MESSAGE,
                    "Updating database from version %u to %u.\n" % (i, i + 1))

        try:
            if not updates[i]():
                return False
        except Exception, e:
            console.log(LOG_ERROR, str(e) + "\n")
            return False

        wolfpack.setoption('db_version', str(i + 1))
        try:
            if driver == 'mysql':
                database.execute(
                    "REPLACE INTO `settings` VALUES('db_version', '%u');" %
                    (i + 1))
            else:
                database.execute(
                    "REPLACE INTO settings VALUES('db_version', '%u');" %
                    (i + 1))
        except Exception, e:
            console.log(
                LOG_WARNING, "Unable to update database version to %u:\n%s\n" %
                (i + 1, str(e)))
Beispiel #4
0
def onUpdateAcctDatabase(current, version):
    database.open(ACCOUNTS)

    driver = database.driver(ACCOUNTS)
    if driver == 'mysql':
        updates = ACCT_MYSQL_UPDATES
    elif driver == 'sqlite':
        updates = ACCT_SQLITE_UPDATES
    else:
        console.log(LOG_ERROR,
                    "Unknown database driver for Accounts: %s.\n" % driver)
        database.close(ACCOUNTS)
        return False

    for i in range(version, current):
        # No update for this version available
        if not i in updates:
            console.log(LOG_ERROR,
                        "No update available for database version %u.\n" % i)
            database.close(ACCOUNTS)
            return False

        console.log(LOG_MESSAGE,
                    "Updating database from version %u to %u.\n" % (i, i + 1))

        try:
            if not updates[i]():
                database.close(ACCOUNTS)
                return False
        except Exception, e:
            console.log(LOG_ERROR, str(e) + "\n")
            database.close(ACCOUNTS)
            return False

        # Updating Version Number
        updateacctversion(i + 1, driver)
from wolfpack.consts import GRAY, LOG_MESSAGE
from wolfpack.time import *
import datetime
import os

# ONLY SET TO TRUE ONCE YOU ARE SETUP FOR THIS!
enabled = False
# MAKE SURE YOU SET THIS!
backup_path = None
#backup_path = '/Path/To/Wolfpack/backups'
#backup_path = 'C:/Wolfpack/backups'

database = wolfpack.database
log = wolfpack.console.log

accountsdriver = database.driver( database.ACCOUNTS )
worlddriver = database.driver( database.WORLD )

time = int( 24 * 3600000 * 7 ) # Every Week

"""
	\command backupdb
	\description Performs a backup on the world and account database.
	\notes This command can only be used if at least one of your
	databases is using the MySQL driver.
"""

def onLoad():
	if enabled and backup_path:
		if accountsdriver == 'mysql' or worlddriver == 'mysql':
			wolfpack.addtimer( time, timer, [ wolfpack.time.currenttime() ] )
Beispiel #6
0
from wolfpack.consts import GRAY, LOG_MESSAGE
from wolfpack.time import *
import datetime
import os

# ONLY SET TO TRUE ONCE YOU ARE SETUP FOR THIS!
enabled = False
# MAKE SURE YOU SET THIS!
backup_path = None
#backup_path = '/Path/To/Wolfpack/backups'
#backup_path = 'C:/Wolfpack/backups'

database = wolfpack.database
log = wolfpack.console.log

accountsdriver = database.driver(database.ACCOUNTS)
worlddriver = database.driver(database.WORLD)

time = int(24 * 3600000 * 7)  # Every Week
"""
	\command backupdb
	\description Performs a backup on the world and account database.
	\notes This command can only be used if at least one of your
	databases is using the MySQL driver.
"""


def onLoad():
    if enabled and backup_path:
        if accountsdriver == 'mysql' or worlddriver == 'mysql':
            wolfpack.addtimer(time, timer, [wolfpack.time.currenttime()])