本文整理汇总了Python中fofix.core.VFS.openSqlite3方法的典型用法代码示例。如果您正苦于以下问题:Python VFS.openSqlite3方法的具体用法?Python VFS.openSqlite3怎么用?Python VFS.openSqlite3使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fofix.core.VFS
的用法示例。
在下文中一共展示了VFS.openSqlite3方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: int
# 需要导入模块: from fofix.core import VFS [as 别名]
# 或者: from fofix.core.VFS import openSqlite3 [as 别名]
'''Turn a player name into a virtual path to the appropriate ini.'''
return '%s/%s.ini' % (playerpath, name)
control0 = None
control1 = None
control2 = None
control3 = None
controlDict = {}
controllerDict = {}
playername = []
playerpref = []
playerstat = []
# Load the player database and check that it is fully initialized.
_SCHEMA_VERSION = 3
_playerDB = VFS.openSqlite3('%s/%s' % (playerpath, 'FoFiX-players.cache'))
_updateTables = 0
try:
v = _playerDB.execute("SELECT `value` FROM `config` WHERE `key` = 'version'").fetchone()[0]
if int(v) != _SCHEMA_VERSION:
_updateTables = 2 #an old version. We don't want to just burn old tables.
except:
_updateTables = 1 #no good table
if _updateTables > 0: #needs to handle old versions eventually.
for tbl in _playerDB.execute("SELECT `name` FROM `sqlite_master` WHERE `type` = 'table'").fetchall():
_playerDB.execute('DROP TABLE `%s`' % tbl)
_playerDB.commit()
_playerDB.execute('VACUUM')
_playerDB.execute('CREATE TABLE `config` (`key` STRING UNIQUE, `value` STRING)')
_playerDB.execute('CREATE TABLE `players` (`name` STRING UNIQUE, `lefty` INT, `drumflip` INT, `autokick` INT, `assist` INT, `twochord` INT, `necktype` INT, `neck` STRING, \
`part` INT, `difficulty` INT, `upname` STRING, `control` INT, `changed` INT, `loaded` INT)')