Fix instance where some items were being re-added due to lack of return. Also, implement some basic logging.
This commit is contained in:
11
config.py
11
config.py
@@ -32,7 +32,16 @@ gameDB = None
|
|||||||
# TODO: move back to pyfa.py main loop
|
# 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)
|
# We moved it here just to avoid rebuilding windows skeleton for now (any change to pyfa.py needs it)
|
||||||
import logging
|
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():
|
def defPaths():
|
||||||
global pyfaPath
|
global pyfaPath
|
||||||
|
|||||||
@@ -20,6 +20,9 @@
|
|||||||
from sqlalchemy.orm.attributes import flag_modified
|
from sqlalchemy.orm.attributes import flag_modified
|
||||||
import eos.db
|
import eos.db
|
||||||
import eos.types
|
import eos.types
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
class HandledList(list):
|
class HandledList(list):
|
||||||
def filteredItemPreAssign(self, filter, *args, **kwargs):
|
def filteredItemPreAssign(self, filter, *args, **kwargs):
|
||||||
@@ -180,10 +183,12 @@ class HandledImplantBoosterList(HandledList):
|
|||||||
if thing.isInvalid:
|
if thing.isInvalid:
|
||||||
HandledList.append(self, thing)
|
HandledList.append(self, thing)
|
||||||
self.remove(thing)
|
self.remove(thing)
|
||||||
|
return
|
||||||
|
|
||||||
# if needed, remove booster that was occupying slot
|
# if needed, remove booster that was occupying slot
|
||||||
oldObj = next((m for m in self if m.slot == thing.slot), None)
|
oldObj = next((m for m in self if m.slot == thing.slot), None)
|
||||||
if oldObj:
|
if oldObj:
|
||||||
|
logging.info("Slot %d occupied with %s, replacing with %s", thing.slot, oldObj.item.name, thing.item.name)
|
||||||
self.remove(oldObj)
|
self.remove(oldObj)
|
||||||
|
|
||||||
HandledList.append(self, thing)
|
HandledList.append(self, thing)
|
||||||
@@ -195,6 +200,7 @@ class HandledProjectedModList(HandledList):
|
|||||||
# rows and relationships in database are removed as well
|
# rows and relationships in database are removed as well
|
||||||
HandledList.append(self, proj)
|
HandledList.append(self, proj)
|
||||||
self.remove(proj)
|
self.remove(proj)
|
||||||
|
return
|
||||||
|
|
||||||
proj.projected = True
|
proj.projected = True
|
||||||
isSystemEffect = proj.item.group.name == "Effect Beacon"
|
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)
|
oldEffect = next((m for m in self if m.item.group.name == "Effect Beacon"), None)
|
||||||
|
|
||||||
if oldEffect:
|
if oldEffect:
|
||||||
|
logging.info("System effect occupied with %s, replacing with %s", oldEffect.item.name, proj.item.name)
|
||||||
self.remove(oldEffect)
|
self.remove(oldEffect)
|
||||||
|
|
||||||
HandledList.append(self, proj)
|
HandledList.append(self, proj)
|
||||||
|
|||||||
Reference in New Issue
Block a user