From c88136091773b86d08c1a28dadb1a3aa52dcf07c Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Fri, 15 Oct 2010 21:51:42 +0200 Subject: [PATCH] Finish up apsw changes --- run.py | 34 ++++++++++++++++++---------------- service/__init__.py | 1 - service/prefetch.py | 14 ++++---------- 3 files changed, 22 insertions(+), 27 deletions(-) diff --git a/run.py b/run.py index ce119d9fb..e0ca96b63 100755 --- a/run.py +++ b/run.py @@ -20,24 +20,26 @@ import config -import apsw -mem = apsw.Connection(":memory:") -disk = apsw.Connection(config.gamedata) -b = mem.backup("main", disk, "main") try: - while not b.done: - b.step() -finally: - b.finish() + import apsw + mem = apsw.Connection(":memory:") + disk = apsw.Connection(config.gamedata) + b = mem.backup("main", disk, "main") + try: + while not b.done: + b.step() + finally: + b.finish() -print config.gamedata -print b.done -import eos.config -import sqlite3 -conn = sqlite3.connect(mem) -eos.config.gamedata_connectionstring = lambda: conn - -#print "failed to use apsw to copy gamedata to memory, continueing, but a bit slower" + import eos.config + import sqlite3 + conn = sqlite3.connect(mem) + eos.config.gamedata_connectionstring = lambda: conn + import eos.db + eos.db.getItemsByCategory("Skill", eager=("effects", "attributes", "attributes.info.icon", "icon")) +except: + print "failed to use apsw to copy gamedata to memory, prefetching instead" + import service.prefetch from gui.mainFrame import MainFrame import wx diff --git a/service/__init__.py b/service/__init__.py index a3c7a2515..d45d1992a 100644 --- a/service/__init__.py +++ b/service/__init__.py @@ -4,4 +4,3 @@ from service.attribute import Attribute from service.character import Character from service.damagePattern import DamagePattern from service.settings import Settings -from service import prefetch diff --git a/service/prefetch.py b/service/prefetch.py index 6f3292764..aebafe05e 100644 --- a/service/prefetch.py +++ b/service/prefetch.py @@ -20,22 +20,16 @@ import threading import service import eos.db -import time - class PrefetchThread(threading.Thread): def run(self): # We're a daemon thread, as such, interpreter might get shut down while we do stuff # Make sure we don't throw tracebacks to console - print "Prefetch started" - time.clock() - eos.db.getItemsByCategory("Skill", eager=("effects", "attributes", "attributes.info.icon", "icon")) cMarket = service.Market.getInstance() root = cMarket.getShipRoot() for id, _ in root: - cMarket.getShipList(id) + cMarket.getShipList(id) - print "Prefetch stopped", time.clock() -#prefetch = PrefetchThread() -#prefetch.daemon = True -#prefetch.start() +prefetch = PrefetchThread() +prefetch.daemon = True +prefetch.start()