Fix instance where some items were being re-added due to lack of return. Also, implement some basic logging.

This commit is contained in:
blitzmann
2015-07-04 23:16:20 -04:00
parent 5991d19b3e
commit aaa60cbc14
2 changed files with 17 additions and 1 deletions

View File

@@ -32,7 +32,16 @@ gameDB = None
# TODO: move back to pyfa.py main loop
# We moved it here just to avoid rebuilding windows skeleton for now (any change to pyfa.py needs it)
import logging
logging.basicConfig()
import logging.handlers
format = '%(asctime)s %(name)-24s %(levelname)-8s %(message)s'
logging.basicConfig(format=format, level=logging.DEBUG)
handler = logging.handlers.RotatingFileHandler("log.txt", maxBytes=10000, backupCount=3)
formatter = logging.Formatter(format)
handler.setFormatter(formatter)
logging.getLogger('').addHandler(handler)
logging.info("Starting pyfa")
def defPaths():
global pyfaPath

View File

@@ -20,6 +20,9 @@
from sqlalchemy.orm.attributes import flag_modified
import eos.db
import eos.types
import logging
logger = logging.getLogger(__name__)
class HandledList(list):
def filteredItemPreAssign(self, filter, *args, **kwargs):
@@ -180,10 +183,12 @@ class HandledImplantBoosterList(HandledList):
if thing.isInvalid:
HandledList.append(self, thing)
self.remove(thing)
return
# if needed, remove booster that was occupying slot
oldObj = next((m for m in self if m.slot == thing.slot), None)
if oldObj:
logging.info("Slot %d occupied with %s, replacing with %s", thing.slot, oldObj.item.name, thing.item.name)
self.remove(oldObj)
HandledList.append(self, thing)
@@ -195,6 +200,7 @@ class HandledProjectedModList(HandledList):
# rows and relationships in database are removed as well
HandledList.append(self, proj)
self.remove(proj)
return
proj.projected = True
isSystemEffect = proj.item.group.name == "Effect Beacon"
@@ -204,6 +210,7 @@ class HandledProjectedModList(HandledList):
oldEffect = next((m for m in self if m.item.group.name == "Effect Beacon"), None)
if oldEffect:
logging.info("System effect occupied with %s, replacing with %s", oldEffect.item.name, proj.item.name)
self.remove(oldEffect)
HandledList.append(self, proj)