Merge pull request #1741 from pyfa-org/codeCleanup

Code cleanup
This commit is contained in:
Ryan Holmes
2018-09-17 00:04:23 -04:00
committed by GitHub
78 changed files with 325 additions and 434 deletions

View File

@@ -100,8 +100,8 @@ def DBInMemory():
import eos.db
# Output debug info to help us troubleshoot Travis
print((eos.db.saveddata_engine))
print((eos.db.gamedata_engine))
print(eos.db.saveddata_engine)
print(eos.db.gamedata_engine)
helper = {
'config': eos.config,

View File

@@ -1,7 +1,6 @@
import pytest
# noinspection PyPackageRequirements
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
# noinspection PyShadowingNames

View File

@@ -1,7 +1,6 @@
import pytest
# noinspection PyPackageRequirements
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
# noinspection PyShadowingNames

View File

@@ -38,7 +38,7 @@ call([
iscc,
os.path.join(os.getcwd(), "dist_assets", "win", "pyfa-setup.iss"),
"/dMyAppVersion=%s" % (config['version']),
"/dMyAppExpansion=%s" % (expansion),
"/dMyAppExpansion=%s" % expansion,
"/dMyAppDir=%s" % source,
"/dMyOutputDir=%s" % os.path.join(os.getcwd(), "dist"),
"/dMyOutputFile=%s" % fileName]) # stdout=devnull, stderr=devnull

View File

@@ -17,8 +17,8 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
from sqlalchemy import Column, String, Integer, ForeignKey, Boolean, Table
from sqlalchemy.orm import relation, mapper, synonym, deferred
from sqlalchemy import Boolean, Column, Integer, String, Table
from sqlalchemy.orm import deferred, mapper, synonym
from eos.db import gamedata_meta
from eos.gamedata import Category

View File

@@ -17,15 +17,15 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table, Float
from sqlalchemy import Boolean, Column, Float, ForeignKey, Integer, String, Table
from sqlalchemy.ext.associationproxy import association_proxy
from sqlalchemy.orm import relation, mapper, synonym, deferred, backref
from sqlalchemy.orm import backref, deferred, mapper, relation, synonym
from sqlalchemy.orm.collections import attribute_mapped_collection
from eos.db.gamedata.effect import typeeffects_table
from eos.db import gamedata_meta
from eos.gamedata import Attribute, Effect, Group, Item, MetaType, Traits, DynamicItemItem, DynamicItem
from eos.db.gamedata.dynamicAttributes import dynamicApplicable_table, dynamic_table
from eos.db.gamedata.dynamicAttributes import dynamicApplicable_table
from eos.db.gamedata.effect import typeeffects_table
from eos.gamedata import Attribute, DynamicItem, Effect, Group, Item, MetaType, Traits
items_table = Table("invtypes", gamedata_meta,
Column("typeID", Integer, primary_key=True),

View File

@@ -17,16 +17,16 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
from sqlalchemy.orm import join, exc, aliased, joinedload, subqueryload
from sqlalchemy.sql import and_, or_, select
from sqlalchemy.inspection import inspect
from sqlalchemy.orm import aliased, exc, join
from sqlalchemy.sql import and_, or_, select
import eos.config
from eos.db import gamedata_session
from eos.db.gamedata.metaGroup import metatypes_table, items_table
from eos.db.gamedata.group import groups_table
from eos.db.gamedata.metaGroup import items_table, metatypes_table
from eos.db.util import processEager, processWhere
from eos.gamedata import AlphaClone, Attribute, Category, Group, Item, MarketGroup, MetaGroup, AttributeInfo, MetaData, DynamicItem
from eos.gamedata import AlphaClone, Attribute, AttributeInfo, Category, DynamicItem, Group, Item, MarketGroup, MetaData, MetaGroup
cache = {}
configVal = getattr(eos.config, "gamedataCache", None)

View File

@@ -17,33 +17,32 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
from sqlalchemy.ext.associationproxy import association_proxy
from sqlalchemy.orm.collections import attribute_mapped_collection
from sqlalchemy.sql import and_
from sqlalchemy.orm import relation, reconstructor, mapper, relationship
from sqlalchemy import ForeignKey, Column, Integer, String, Table, Boolean, DateTime
import datetime
from eos.db import saveddata_meta
from eos.db import saveddata_session
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String, Table
from sqlalchemy.ext.associationproxy import association_proxy
from sqlalchemy.orm import mapper, reconstructor, relation, relationship
from sqlalchemy.orm.collections import attribute_mapped_collection
from sqlalchemy.sql import and_
from eos.db import saveddata_meta, saveddata_session
from eos.db.saveddata.cargo import cargo_table
from eos.db.saveddata.drone import drones_table
from eos.db.saveddata.fighter import fighters_table
from eos.db.saveddata.implant import fitImplants_table
from eos.db.saveddata.module import modules_table
from eos.effectHandlerHelpers import HandledModuleList, HandledImplantBoosterList, HandledProjectedModList, \
HandledDroneCargoList, HandledProjectedDroneList
from eos.saveddata.implant import Implant
from eos.saveddata.character import Character
from eos.saveddata.user import User
from eos.saveddata.fighter import Fighter
from eos.saveddata.fit import Fit as es_Fit, ImplantLocation
from eos.saveddata.drone import Drone
from eos.effectHandlerHelpers import HandledDroneCargoList, HandledImplantBoosterList, HandledModuleList, HandledProjectedDroneList, HandledProjectedModList
from eos.saveddata.booster import Booster
from eos.saveddata.module import Module
from eos.saveddata.cargo import Cargo
from eos.saveddata.character import Character
from eos.saveddata.damagePattern import DamagePattern
from eos.saveddata.drone import Drone
from eos.saveddata.fighter import Fighter
from eos.saveddata.fit import Fit as es_Fit
from eos.saveddata.implant import Implant
from eos.saveddata.module import Module
from eos.saveddata.targetResists import TargetResists
from eos.saveddata.user import User
fits_table = Table("fits", saveddata_meta,
Column("ID", Integer, primary_key=True),

View File

@@ -17,10 +17,11 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
from sqlalchemy import Table, Column, Integer, ForeignKey, Boolean, DateTime, Float
from sqlalchemy.orm import mapper
import datetime
from sqlalchemy import Column, DateTime, Float, ForeignKey, Integer, Table
from sqlalchemy.orm import mapper
from eos.db import saveddata_meta
from eos.saveddata.mutator import Mutator

View File

@@ -3,14 +3,14 @@
# Used by:
# Variations of module: Armor Command Burst I (2 of 2)
'''
"""
Some documentation:
When the fit is calculated, we gather up all the gang effects and stick them onto the fit. We don't run the actual
effect yet, only give the fit details so that it can run the effect at a later time. We need to do this so that we can
only run the strongest effect. When we are done, one of the last things that we do with the fit is to loop through those
bonuses and actually run the effect. To do this, we have a special argument passed into the effect handler that tells it
which warfareBuffID to run (shouldn't need this right now, but better safe than sorry)
'''
"""
type = "active", "gang"

View File

@@ -166,14 +166,14 @@ class Effect(EqBase):
t = t if isinstance(t, tuple) or t is None else (t,)
self.__type = t
except (ImportError) as e:
except ImportError as e:
# Effect probably doesn't exist, so create a dummy effect and flag it with a warning.
self.__handler = effectDummy
self.__runTime = "normal"
self.__activeByDefault = True
self.__type = None
pyfalog.debug("ImportError generating handler: {0}", e)
except (AttributeError) as e:
except AttributeError as e:
# Effect probably exists but there is an issue with it. Turn it into a dummy effect so we can continue, but flag it with an error.
self.__handler = effectDummy
self.__runTime = "normal"
@@ -630,8 +630,8 @@ class Unit(EqBase):
def attributeIDCallback(v):
v = int(v)
if not v: # some attributes come through with a value of 0? See #1387
return "%d" % (v)
attribute = eos.db.getAttributeInfo(v, eager=("unit"))
return "%d" % v
attribute = eos.db.getAttributeInfo(v, eager="unit")
return "%s (%d)" % (attribute.name.capitalize(), v)
def TranslateValue(self, value):

View File

@@ -34,10 +34,10 @@ class ItemAttrShortcut(object):
return return_value or default
def getBaseAttrValue(self, key, default=0):
'''
"""
Gets base value in this order:
Mutated value > override value > attribute value
'''
"""
return_value = self.itemModifiedAttributes.getOriginal(key)
return return_value or default
@@ -382,7 +382,7 @@ class ModifiedAttributeDict(collections.MutableMapping):
if resist:
afflictPenal += "r"
self.__afflict(attributeName, "%s*" % (afflictPenal), multiplier, multiplier != 1)
self.__afflict(attributeName, "%s*" % afflictPenal, multiplier, multiplier != 1)
def boost(self, attributeName, boostFactor, skill=None, *args, **kwargs):
"""Boost value by some percentage"""

View File

@@ -17,19 +17,17 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
from logbook import Logger
from copy import deepcopy
from sqlalchemy.orm import validates, reconstructor
from math import floor
from logbook import Logger
from sqlalchemy.orm import reconstructor, validates
import eos.db
from eos.effectHandlerHelpers import HandledItem, HandledCharge
from eos.effectHandlerHelpers import HandledCharge, HandledItem
from eos.enum import Enum
from eos.modifiedAttributeDict import ModifiedAttributeDict, ItemAttrShortcut, ChargeAttrShortcut
from eos.modifiedAttributeDict import ChargeAttrShortcut, ItemAttrShortcut, ModifiedAttributeDict
from eos.saveddata.citadel import Citadel
from eos.saveddata.mutator import Mutator
from utils.deprecated import deprecated
pyfalog = Logger(__name__)
@@ -651,7 +649,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
for i in range(5):
itemChargeGroup = self.getModifiedItemAttr('chargeGroup' + str(i), None)
if itemChargeGroup is not None:
g = eos.db.getGroup(int(itemChargeGroup), eager=("items.attributes"))
g = eos.db.getGroup(int(itemChargeGroup), eager="items.attributes")
if g is None:
continue
for singleItem in g.items:

View File

@@ -131,7 +131,7 @@ class Ship(ItemAttrShortcut, HandledItem):
return None
items = []
g = eos.db.getGroup("Ship Modifiers", eager=("items.attributes"))
g = eos.db.getGroup("Ship Modifiers", eager="items.attributes")
for item in g.items:
# Rely on name detection because race is not reliable
if item.name.lower().startswith(self.item.name.lower()):

View File

@@ -1,10 +1,13 @@
import copy
import wx
import math
from gui.utils import color as color_utils
from gui.utils import draw, anim_effects
from service.fit import Fit
from gui.utils import anim_effects
import math
import wx
from gui.utils import anim_effects
# todo: clean class up. Took from pyfa gauge, has a bunch of extra shit we don't need

View File

@@ -19,15 +19,14 @@
import io
import os.path
import zipfile
from collections import OrderedDict
# noinspection PyPackageRequirements
import wx
from logbook import Logger
import config
from logbook import Logger
logging = Logger(__name__)

View File

@@ -16,7 +16,7 @@ class BoosterSideEffect(ContextMenu):
# if not self.settings.get('fighterAbilities'):
# return False
if self.mainFrame.getActiveFit() is None or srcContext not in ("boosterItem"):
if self.mainFrame.getActiveFit() is None or srcContext not in "boosterItem":
return False
self.booster = selection[0]

View File

@@ -1,11 +1,9 @@
from gui.contextMenu import ContextMenu
import gui.fitCommands as cmd
import gui.mainFrame
import gui.globalEvents as GE
from gui.contextMenu import ContextMenu
# noinspection PyPackageRequirements
import wx
from service.fit import Fit
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
class Cargo(ContextMenu):

View File

@@ -1,10 +1,7 @@
from gui.contextMenu import ContextMenu
import gui.mainFrame
import gui.globalEvents as GE
import wx
from service.settings import ContextMenuSettings
from service.fit import Fit
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from service.settings import ContextMenuSettings
class CargoAmmo(ContextMenu):

View File

@@ -1,13 +1,12 @@
# noinspection PyPackageRequirements
import wx
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from service.fit import Fit
from service.market import Market
import gui.mainFrame
import gui.globalEvents as GE
from gui.contextMenu import ContextMenu
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
class CommandFits(ContextMenu):
@@ -26,7 +25,7 @@ class CommandFits(ContextMenu):
if evt is not None:
ids = getattr(evt, 'typeID')
if not isinstance(ids, set):
ids = set([ids])
ids = {ids}
if evt is None or not ids.isdisjoint(cls.commandTypeIDs):
# we are adding or removing an item that defines a command fit. Need to refresh fit list

View File

@@ -1,11 +1,9 @@
from gui.contextMenu import ContextMenu
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
# noinspection PyPackageRequirements
import wx
import gui.globalEvents as GE
from service.fit import Fit
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
class ItemRemove(ContextMenu):

View File

@@ -3,19 +3,11 @@
# noinspection PyPackageRequirements
import wx
from service.fit import Fit
from service.market import Market
import gui.mainFrame
import gui.globalEvents as GE
from gui.contextMenu import ContextMenu
from service.settings import ContextMenuSettings
from eos.saveddata.booster import Booster
from eos.saveddata.module import Module
from eos.saveddata.drone import Drone
from eos.saveddata.fighter import Fighter
from eos.saveddata.implant import Implant
from eos.saveddata.cargo import Cargo
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from service.market import Market
from service.settings import ContextMenuSettings
class MetaSwap(ContextMenu):

View File

@@ -3,15 +3,13 @@
# noinspection PyPackageRequirements
import wx
from service.fit import Fit
from service.market import Market
from eos.saveddata.module import Hardpoint
import gui.mainFrame
import gui.globalEvents as GE
from gui.contextMenu import ContextMenu
from gui.bitmap_loader import BitmapLoader
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
import gui.mainFrame
from eos.saveddata.module import Hardpoint
from gui.bitmap_loader import BitmapLoader
from gui.contextMenu import ContextMenu
from service.market import Market
from service.settings import ContextMenuSettings
class ModuleAmmoPicker(ContextMenu):

View File

@@ -1,13 +1,10 @@
# -*- coding: utf-8 -*-
import gui.mainFrame
# noinspection PyPackageRequirements
import wx
import gui.globalEvents as GE
from gui.builtinContextMenus.moduleAmmoPicker import ModuleAmmoPicker
from eos.db.saveddata.queries import getFit as db_getFit
from service.fit import Fit
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
import gui.mainFrame
from eos.db.saveddata.queries import getFit as db_getFit
# noinspection PyPackageRequirements
from gui.builtinContextMenus.moduleAmmoPicker import ModuleAmmoPicker
from service.settings import ContextMenuSettings
class ModuleGlobalAmmoPicker(ModuleAmmoPicker):

View File

@@ -18,7 +18,7 @@ class MutaplasmidCM(ContextMenu):
# if not self.settings.get('ammoPattern'):
# return False
if srcContext not in ("fittingModule") or self.mainFrame.getActiveFit() is None:
if srcContext not in "fittingModule" or self.mainFrame.getActiveFit() is None:
return False
mod = selection[0]

View File

@@ -1,11 +1,9 @@
from gui.contextMenu import ContextMenu
import gui.fitCommands as cmd
import gui.mainFrame
import gui.globalEvents as GE
from gui.contextMenu import ContextMenu
# noinspection PyPackageRequirements
import wx
from service.fit import Fit
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
class Project(ContextMenu):

View File

@@ -3,12 +3,11 @@
# noinspection PyPackageRequirements
import wx
from service.fit import Fit
import gui.mainFrame
import gui.globalEvents as GE
from gui.contextMenu import ContextMenu
from gui.builtinViews.emptyView import BlankPage
import gui.fitCommands as cmd
import gui.mainFrame
from gui.builtinViews.emptyView import BlankPage
from gui.contextMenu import ContextMenu
from service.fit import Fit
class TabbedFits(ContextMenu):

View File

@@ -1,12 +1,11 @@
# noinspection PyPackageRequirements
import wx
from gui.contextMenu import ContextMenu
import gui.mainFrame
import gui.globalEvents as GE
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from service.fit import Fit
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
class TacticalMode(ContextMenu):

View File

@@ -1,14 +1,14 @@
from gui.contextMenu import ContextMenu
import gui.mainFrame
import gui.globalEvents as GE
import re
from itertools import chain
# noinspection PyPackageRequirements
import wx
from service.market import Market
from service.fit import Fit
from service.settings import ContextMenuSettings
from itertools import chain
import re
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from service.market import Market
from service.settings import ContextMenuSettings
class WhProjector(ContextMenu):

View File

@@ -1,9 +1,7 @@
import wx
import wx.lib.newevent
from gui.attribute_gauge import AttributeGauge
import eos
import eos.db
from gui.attribute_gauge import AttributeGauge
_ValueChanged, EVT_VALUE_CHANGED = wx.lib.newevent.NewEvent()

View File

@@ -1,18 +1,16 @@
# noinspection PyPackageRequirements
import wx
from service.fit import Fit
from .attributeSlider import AttributeSlider, EVT_VALUE_CHANGED
import gui.mainFrame
from gui.contextMenu import ContextMenu
from .itemAttributes import ItemParams
from gui.bitmap_loader import BitmapLoader
import gui.globalEvents as GE
import random
import wx
from logbook import Logger
import gui.globalEvents as GE
import gui.mainFrame
from gui.bitmap_loader import BitmapLoader
from service.fit import Fit
from .attributeSlider import AttributeSlider, EVT_VALUE_CHANGED
from .itemAttributes import ItemParams
pyfalog = Logger(__name__)

View File

@@ -1,16 +1,13 @@
import wx
import config
import gui.builtinMarketBrowser.pfSearchBox as SBox
from gui.contextMenu import ContextMenu
from gui.display import Display
from service.attribute import Attribute
from service.fit import Fit
from gui.utils.staticHelpers import DragDropHelper
from logbook import Logger
from gui.builtinMarketBrowser.events import RECENTLY_USED_MODULES, MAX_RECENTLY_USED_MODULES, ItemSelected
import gui.builtinMarketBrowser.pfSearchBox as SBox
from gui.builtinMarketBrowser.events import ItemSelected, MAX_RECENTLY_USED_MODULES, RECENTLY_USED_MODULES
from gui.contextMenu import ContextMenu
from gui.display import Display
from gui.utils.staticHelpers import DragDropHelper
from service.attribute import Attribute
from service.fit import Fit
pyfalog = Logger(__name__)

View File

@@ -1,17 +1,13 @@
# noinspection PyPackageRequirements
import wx
from gui.preferenceView import PreferenceView
from gui.bitmap_loader import BitmapLoader
import gui.mainFrame
from gui.bitmap_loader import BitmapLoader
from gui.preferenceView import PreferenceView
from service.settings import EsiSettings
# noinspection PyPackageRequirements
from wx.lib.intctrl import IntCtrl
from service.esi import Esi
# noinspection PyPackageRequirements
class PFEsiPref(PreferenceView):

View File

@@ -3,12 +3,9 @@
# noinspection PyPackageRequirements
import wx
import copy
from gui.preferenceView import PreferenceView
from gui.bitmap_loader import BitmapLoader
from gui.utils.color import CalculateTransition
import gui.utils.draw as drawUtils
from gui.preferenceView import PreferenceView
###########################################################################

View File

@@ -2,22 +2,22 @@
import re
import time
import config
import wx
from logbook import Logger
import config
import gui.builtinShipBrowser.sfBrowserItem as SFItem
import gui.globalEvents as GE
import gui.fitCommands as cmd
import gui.mainFrame
import gui.utils.color as colorUtils
import gui.utils.draw as drawUtils
import gui.utils.fonts as fonts
from .events import ImportSelected, SearchSelected, FitSelected, BoosterListUpdated, Stage3Selected, FitRenamed, FitRemoved
from gui.bitmap_loader import BitmapLoader
from gui.builtinShipBrowser.pfBitmapFrame import PFBitmapFrame
from service.fit import Fit
import gui.fitCommands as cmd
from .events import BoosterListUpdated, FitRemoved, FitSelected, ImportSelected, SearchSelected, Stage3Selected
pyfalog = Logger(__name__)

View File

@@ -8,11 +8,11 @@ import gui.mainFrame
import gui.utils.color as colorUtils
import gui.utils.draw as drawUtils
import gui.utils.fonts as fonts
from .events import Stage3Selected, Stage2Selected, Stage1Selected, FitSelected
from gui.bitmap_loader import BitmapLoader
from gui.contextMenu import ContextMenu
from service.fit import Fit
from service.market import Market
from .events import FitSelected, Stage3Selected
pyfalog = Logger(__name__)

View File

@@ -129,15 +129,15 @@ class PriceViewFull(StatsView):
total_price = 0
if (self.settings.get("ship")):
if self.settings.get("ship"):
total_price += ship_price
if (self.settings.get("modules")):
if self.settings.get("modules"):
total_price += module_price
if (self.settings.get("drones")):
if self.settings.get("drones"):
total_price += drone_price + fighter_price
if (self.settings.get("cargo")):
if self.settings.get("cargo"):
total_price += cargo_price
if (self.settings.get("character")):
if self.settings.get("character"):
total_price += booster_price + implant_price
self.labelPriceShip.SetLabel("%s ISK" % formatAmount(ship_price, 3, 3, 9, currency=True))

View File

@@ -125,15 +125,15 @@ class PriceViewMinimal(StatsView):
total_price = 0
if (self.settings.get("ship")):
if self.settings.get("ship"):
total_price += ship_price
if (self.settings.get("modules")):
if self.settings.get("modules"):
total_price += module_price
if (self.settings.get("drones")):
if self.settings.get("drones"):
total_price += drone_price + fighter_price
if (self.settings.get("cargo")):
if self.settings.get("cargo"):
total_price += cargo_price
if (self.settings.get("character")):
if self.settings.get("character"):
total_price += booster_price + implant_price
self.labelPriceShip.SetLabel("%s ISK" % formatAmount(ship_price, 3, 3, 9, currency=True))

View File

@@ -21,29 +21,26 @@
import wx
# noinspection PyPackageRequirements
import wx.lib.newevent
import gui.mainFrame
from gui.builtinMarketBrowser.events import ItemSelected, ITEM_SELECTED
from logbook import Logger
import gui.builtinViews.emptyView
import gui.display as d
from gui.contextMenu import ContextMenu
from gui.builtinShipBrowser.events import EVT_FIT_RENAMED, EVT_FIT_REMOVED, FitSelected, EVT_FIT_SELECTED
import gui.fitCommands as cmd
import gui.globalEvents as GE
import gui.mainFrame
import gui.multiSwitch
from eos.saveddata.mode import Mode
from eos.saveddata.module import Module, Slot, Rack
from gui.builtinViewColumns.state import State
from eos.saveddata.module import Module, Rack, Slot
from gui.bitmap_loader import BitmapLoader
import gui.builtinViews.emptyView
from logbook import Logger
from gui.builtinMarketBrowser.events import ITEM_SELECTED
from gui.builtinShipBrowser.events import EVT_FIT_REMOVED, EVT_FIT_RENAMED, EVT_FIT_SELECTED, FitSelected
from gui.builtinViewColumns.state import State
from gui.chrome_tabs import EVT_NOTEBOOK_PAGE_CHANGED
import gui.fitCommands as cmd
from gui.contextMenu import ContextMenu
from gui.utils.staticHelpers import DragDropHelper
from service.fit import Fit
from service.market import Market
from gui.utils.staticHelpers import DragDropHelper
import gui.utils.fonts as fonts
import gui.globalEvents as GE
pyfalog = Logger(__name__)
@@ -361,9 +358,9 @@ class FittingView(d.Display):
self.parent.SetPageTextIcon(pageIndex, text, bitmap)
def appendItem(self, event):
'''
"""
Adds items that are double clicks from the market browser. We handle both modules and ammo
'''
"""
if not self:
event.Skip()
return
@@ -390,7 +387,7 @@ class FittingView(d.Display):
event.Skip()
def removeItem(self, event):
'''Double Left Click - remove module'''
"""Double Left Click - remove module"""
if event.CmdDown():
return
row, _ = self.HitTest(event.Position)

View File

@@ -17,35 +17,30 @@
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
import re
import roman
# noinspection PyPackageRequirements
import wx
import wx.dataview
import wx.lib.agw.hyperlink
# noinspection PyPackageRequirements
import wx.lib.newevent
from logbook import Logger
# noinspection PyPackageRequirements
from wx.dataview import TreeListCtrl
from gui.bitmap_loader import BitmapLoader
from gui.contextMenu import ContextMenu
import gui.globalEvents as GE
from gui.builtinViews.implantEditor import BaseImplantEditorView
from gui.builtinViews.entityEditor import EntityEditor, BaseValidator, TextEntryValidatedDialog
from service.fit import Fit
from service.character import Character
from service.esi import Esi
from service.network import AuthenticationError, TimeoutError
from service.market import Market
from logbook import Logger
from wx.lib.agw.floatspin import FloatSpin
from gui.utils.clipboard import toClipboard, fromClipboard
import roman
import re
import webbrowser
import gui.globalEvents as GE
from gui.bitmap_loader import BitmapLoader
from gui.builtinViews.entityEditor import BaseValidator, EntityEditor, TextEntryValidatedDialog
from gui.builtinViews.implantEditor import BaseImplantEditorView
from gui.contextMenu import ContextMenu
from gui.utils.clipboard import fromClipboard, toClipboard
from service.character import Character
from service.esi import Esi
from service.fit import Fit
from service.market import Market
pyfalog = Logger(__name__)

View File

@@ -30,7 +30,7 @@ PageAdded, EVT_NOTEBOOK_PAGE_ADDED = wx.lib.newevent.NewEvent()
PageClosed, EVT_NOTEBOOK_PAGE_CLOSED = wx.lib.newevent.NewEvent()
class VetoAble():
class VetoAble:
def __init__(self):
self.__vetoed = False
@@ -41,7 +41,7 @@ class VetoAble():
return self.__vetoed
class NotebookTabChangeEvent():
class NotebookTabChangeEvent:
def __init__(self, old, new):
self.__old = old
self.__new = new

View File

@@ -319,7 +319,7 @@ class SsoCharacterMgmt(wx.Dialog):
self.Centre(wx.BOTH)
def ssoLogin(self, event):
if (self):
if self:
# todo: these events don't unbind properly when window is closed (?), hence the `if`. Figure out better way of doing this.
self.popCharList()
event.Skip()
@@ -384,7 +384,7 @@ class FittingsTreeView(wx.Panel):
dict = {}
fits = data
for fit in fits:
if (fit['fitting_id'] in sEsi.fittings_deleted):
if fit['fitting_id'] in sEsi.fittings_deleted:
continue
ship = getItem(fit['ship_type_id'])
if ship is None:

View File

@@ -1,8 +1,8 @@
import wx
from gui.fitCommands.helpers import ModuleInfoCache
import eos.db
from logbook import Logger
import eos.db
pyfalog = Logger(__name__)

View File

@@ -1,12 +1,10 @@
import wx
from service.fit import Fit
import gui.mainFrame
from gui import globalEvents as GE
from gui.fitCommands.helpers import ModuleInfoCache
from eos.saveddata.module import Module, State
import eos.db
from logbook import Logger
import eos.db
from eos.saveddata.module import Module, State
from gui.fitCommands.helpers import ModuleInfoCache
pyfalog = Logger(__name__)

View File

@@ -1,11 +1,10 @@
import wx
from logbook import Logger
import eos.db
import gui.mainFrame
from service.fit import Fit
import gui.mainFrame
from gui import globalEvents as GE
from eos.saveddata.module import Module
from logbook import Logger
import eos.db
pyfalog = Logger(__name__)

View File

@@ -1,15 +1,14 @@
import wx
from service.fit import Fit
from logbook import Logger
import gui.mainFrame
from gui import globalEvents as GE
from gui.fitCommands.calc.fitSetCharge import FitSetChargeCommand
from gui.fitCommands.calc.fitReplaceModule import FitReplaceModuleCommand
from gui.fitCommands.calc.fitRemoveCargo import FitRemoveCargoCommand
from gui.fitCommands.calc.fitRemoveModule import FitRemoveModuleCommand
from gui.fitCommands.calc.fitReplaceModule import FitReplaceModuleCommand
from service.fit import Fit
from .calc.fitAddCargo import FitAddCargoCommand
from logbook import Logger
pyfalog = Logger(__name__)

View File

@@ -17,76 +17,62 @@
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
import sys
import os.path
from logbook import Logger
import sqlalchemy
# noinspection PyPackageRequirements
import wx
# noinspection PyPackageRequirements
from wx.lib.wordwrap import wordwrap
# noinspection PyPackageRequirements
from wx.lib.inspection import InspectionTool
import time
from codecs import open
import config
from eos.config import gamedata_version, gamedata_date
import datetime
import gui.aboutData
from gui.chrome_tabs import ChromeNotebook
import gui.globalEvents as GE
from gui.bitmap_loader import BitmapLoader
from gui.mainMenuBar import MainMenuBar
from gui.additionsPane import AdditionsPane
from gui.marketBrowser import MarketBrowser
from gui.builtinMarketBrowser.events import ItemSelected
from gui.multiSwitch import MultiSwitch
from gui.statsPane import StatsPane
from gui.shipBrowser import ShipBrowser
from gui.builtinShipBrowser.events import FitSelected, ImportSelected, Stage3Selected
from gui.characterEditor import CharacterEditor
from gui.characterSelection import CharacterSelection
from gui.patternEditor import DmgPatternEditorDlg
from gui.resistsEditor import ResistsEditorDlg
from gui.setEditor import ImplantSetEditorDlg
from gui.devTools import DevTools
from gui.preferenceDialog import PreferenceDialog
from gui.graphFrame import GraphFrame
from gui.ssoLogin import SsoLogin
from gui.copySelectDialog import CopySelectDialog
from gui.utils.clipboard import toClipboard, fromClipboard
from gui.updateDialog import UpdateDialog
# noinspection PyUnresolvedReferences
from gui.builtinViews import emptyView, entityEditor, fittingView, implantEditor # noqa: F401
from gui import graphFrame
from service.settings import SettingsProvider
from service.fit import Fit
from service.character import Character
from service.update import Update
from service.esiAccess import SsoMode
# import this to access override setting
from eos.modifiedAttributeDict import ModifiedAttributeDict
from eos.db.saveddata.loadDefaultDatabaseValues import DefaultDatabaseValues
from eos.db.saveddata.queries import getFit as db_getFit
from service.port import Port, IPortUser, EfsPort
from service.settings import HTMLExportSettings
import os.path
import threading
import time
import webbrowser
from codecs import open
from time import gmtime, strftime
import threading
import webbrowser
# noinspection PyPackageRequirements
import wx
import wx.adv
from logbook import Logger
# noinspection PyPackageRequirements
# noinspection PyPackageRequirements
from wx.lib.inspection import InspectionTool
from service.esi import Esi, LoginMethod
import config
import gui.globalEvents as GE
from eos.config import gamedata_date, gamedata_version
from eos.db.saveddata.loadDefaultDatabaseValues import DefaultDatabaseValues
from eos.db.saveddata.queries import getFit as db_getFit
# import this to access override setting
from eos.modifiedAttributeDict import ModifiedAttributeDict
from gui import graphFrame
from gui.additionsPane import AdditionsPane
from gui.bitmap_loader import BitmapLoader
from gui.builtinMarketBrowser.events import ItemSelected
from gui.builtinShipBrowser.events import FitSelected, ImportSelected, Stage3Selected
# noinspection PyUnresolvedReferences
from gui.builtinViews import emptyView, entityEditor, fittingView, implantEditor # noqa: F401
from gui.characterEditor import CharacterEditor
from gui.characterSelection import CharacterSelection
from gui.chrome_tabs import ChromeNotebook
from gui.copySelectDialog import CopySelectDialog
from gui.devTools import DevTools
from gui.esiFittings import EveFittings, ExportToEve, SsoCharacterMgmt
from gui.graphFrame import GraphFrame
from gui.mainMenuBar import MainMenuBar
from gui.marketBrowser import MarketBrowser
from gui.multiSwitch import MultiSwitch
from gui.patternEditor import DmgPatternEditorDlg
from gui.preferenceDialog import PreferenceDialog
from gui.resistsEditor import ResistsEditorDlg
from gui.setEditor import ImplantSetEditorDlg
from gui.shipBrowser import ShipBrowser
from gui.ssoLogin import SsoLogin
from gui.statsPane import StatsPane
from gui.updateDialog import UpdateDialog
from gui.utils.clipboard import fromClipboard, toClipboard
from service.character import Character
from service.esi import Esi, LoginMethod
from service.esiAccess import SsoMode
from service.fit import Fit
from service.port import EfsPort, IPortUser, Port
from service.settings import HTMLExportSettings, SettingsProvider
from service.update import Update
disableOverrideEditor = False

View File

@@ -14,11 +14,10 @@
# ===============================================================================
import copy
import wx
from gui.utils import color as color_utils
from gui.utils import draw, anim_effects
from service.fit import Fit
from gui.utils import anim_effects, color as color_utils, draw
class PyGauge(wx.Window):

View File

@@ -19,13 +19,14 @@
# ==============================================================================
import datetime
import os
import sys
import traceback
from optparse import AmbiguousOptionError, BadOptionError, OptionParser
from service.prereqsCheck import PreCheckException, PreCheckMessage, version_precheck, version_block
import config
import datetime
from service.prereqsCheck import PreCheckException, PreCheckMessage, version_block, version_precheck
# ascii_text = '''
# ++++++++++++++++++++++++++++++++++++++++++++++++++

View File

@@ -6,13 +6,8 @@ This script will generate a dynamicItemAttributes.json file using res files
import argparse
import os
import re
import sqlite3
import json
from PIL import Image
import os
from shutil import copyfile
parser = argparse.ArgumentParser(description='This script updates module icons for pyfa')

View File

@@ -410,7 +410,7 @@ else:
if not effect_file.startswith('__'):
file_name, file_extension = effect_file.rsplit('.', 1)
# Ignore non-py files and exclude implementation-specific 'effects'
if file_extension == "py" and not file_name in ("__init__"):
if file_extension == "py" and not file_name in "__init__":
effect_list.append(file_name)
# Stage 2

View File

@@ -6,15 +6,13 @@ This script updates only market/item icons.
import argparse
import os
import re
import sqlite3
import json
import os
import sqlite3
from shutil import copyfile
from PIL import Image
from shutil import copyfile
parser = argparse.ArgumentParser(description='This script updates module icons for pyfa')
parser.add_argument('-e', '--eve', required=True, type=str, help='path to eve\'s ')
parser.add_argument('-s', '--server', required=False, default='tq', type=str, help='which server to use (defaults to tq)')
@@ -67,7 +65,7 @@ graphics = graphicIDsLoader.load(os.path.join(to_path, 'graphicIDs.fsdbinary'))
graphics_py_ob = {}
for x, v in graphics.items():
if (hasattr(v, 'iconFolder')):
if hasattr(v, 'iconFolder'):
graphics_py_ob[x] = v.iconFolder
# Add children to market group list

View File

@@ -19,17 +19,16 @@
#===============================================================================
'''
"""
This script is used to compare two different database versions.
It shows removed/changed/new items with list of changed effects,
changed attributes and effects which were renamed
'''
"""
import argparse
import os.path
import re
import sqlite3
import sys
script_dir = os.path.dirname(__file__)
default_old = os.path.join(script_dir, "..", "eve.db")
@@ -282,14 +281,12 @@ def main(old, new, groups=True, effects=True, attributes=True, renames=True):
oldgroup = old_itmdata[item][0]
groupdata = (S["unchanged"], oldgroup, None)
# Set old set of effects and mark all as unchanged
effectsdata = {}
effectsdata[S["unchanged"]] = set()
effectsdata = {S["unchanged"]: set()}
if effects:
oldeffects = old_itmdata[item][1]
effectsdata[S["unchanged"]].update(oldeffects)
# Set old set of attributes and mark all as unchanged
attrdata = {}
attrdata[S["unchanged"]] = {}
attrdata = {S["unchanged"]: {}}
if attributes:
oldattrs = old_itmdata[item][2]
for attr in oldattrs:
@@ -307,14 +304,12 @@ def main(old, new, groups=True, effects=True, attributes=True, renames=True):
newgroup = new_itmdata[item][0]
groupdata = (S["unchanged"], None, newgroup)
# Set new set of effects and mark all as unchanged
effectsdata = {}
effectsdata[S["unchanged"]] = set()
effectsdata = {S["unchanged"]: set()}
if effects:
neweffects = new_itmdata[item][1]
effectsdata[S["unchanged"]].update(neweffects)
# Set new set of attributes and mark all as unchanged
attrdata = {}
attrdata[S["unchanged"]] = {}
attrdata = {S["unchanged"]: {}}
if attributes:
newattrs = new_itmdata[item][2]
for attr in newattrs:

View File

@@ -18,10 +18,9 @@
# License along with eos. If not, see <http://www.gnu.org/licenses/>.
#======================================================================
import functools
import os
import sys
import functools
import re
# Add eos root path to sys.path so we can import ourselves
path = os.path.dirname(__file__)
@@ -46,7 +45,6 @@ def main(db, json_path):
eos.config.debug = False
# Now thats done, we can import the eos modules using the config
import eos.db
import eos.gamedata
# Create the database tables
@@ -241,7 +239,7 @@ def main(db, json_path):
row['iconFile'] = row['iconFile'].lower().replace('modules/', '').replace('.png', '')
if jsonName is 'clonegrades':
if (row['alphaCloneID'] not in tmp):
if row['alphaCloneID'] not in tmp:
cloneParent = eos.gamedata.AlphaClone()
setattr(cloneParent, 'alphaCloneID', row['alphaCloneID'])
setattr(cloneParent, 'alphaCloneName', row['alphaCloneName'])
@@ -249,7 +247,7 @@ def main(db, json_path):
tmp.append(row['alphaCloneID'])
for k, v in row.items():
if (isinstance(v, str)):
if isinstance(v, str):
v = v.strip()
setattr(instance, fieldMap.get(k, k), v)

View File

@@ -1,8 +1,8 @@
'''
"""
A change to EVE Online's cache format rendered Reverence unable to correctly dump the icons file. As a stop gap, this
reads the offical SDE iconIDs.yaml and populates our own icons.json file. This files should then be transferred to the
other JSON files Phobos dumps before being converted to SQL
'''
"""
import yaml
import json

View File

@@ -2,11 +2,11 @@
# Requires eve-old.db file (which is the previous releases database so that we can lookup the old items)
# See https://community.eveonline.com/news/patch-notes/patch-notes-for-july-2017-release
import sys
from os.path import realpath, join, dirname, abspath
from sqlalchemy import MetaData, create_engine
from sqlalchemy.orm import sessionmaker
import csv
import sys
from os.path import abspath, dirname, join, realpath
from sqlalchemy import create_engine
newDB = create_engine('sqlite:///' + unicode(realpath(join(dirname(abspath(__file__)), "..", "eve.db")), sys.getfilesystemencoding()))
oldDB = create_engine('sqlite:///' + unicode(realpath(join(dirname(abspath(__file__)), "..", "eve-old.db")), sys.getfilesystemencoding()))

View File

@@ -33,10 +33,10 @@ class Attribute(object):
@staticmethod
def getAttributeInfo(identity):
if isinstance(identity, (int, str)):
info = eos.db.getAttributeInfo(identity, eager=("unit"))
info = eos.db.getAttributeInfo(identity, eager="unit")
elif isinstance(identity, (int, float)):
id_ = int(identity)
info = eos.db.getAttributeInfo(id_, eager=("unit"))
info = eos.db.getAttributeInfo(id_, eager="unit")
else:
info = None
return info

View File

@@ -337,7 +337,7 @@ class Character(object):
@staticmethod
def getApiDetails(charID):
# todo: fix this (or get rid of?)
return ("", "", "", [])
return "", "", "", []
char = eos.db.getCharacter(charID)
if char.chars is not None:
chars = json.loads(char.chars)

View File

@@ -138,7 +138,7 @@ class Esi(EsiAccess):
def handleLogin(self, message):
# we already have authenticated stuff for the auto mode
if (self.settings.get('ssoMode') == SsoMode.AUTO):
if self.settings.get('ssoMode') == SsoMode.AUTO:
ssoInfo = message['SSOInfo'][0]
auth_response = json.loads(base64.b64decode(ssoInfo))
else:

View File

@@ -1,4 +1,4 @@
'''
"""
A lot of the inspiration (and straight up code copying!) for this class comes from EsiPy <https://github.com/Kyria/EsiPy>
Much of the credit goes to the maintainer of that package, Kyria <tweetfleet slack: @althalus>. The reasoning for no
@@ -7,7 +7,7 @@ low level.
Eventually I'll rewrite this to be a bit cleaner and a bit more generic, but for now, it works!
'''
"""
# noinspection PyPackageRequirements
from logbook import Logger
@@ -63,7 +63,7 @@ class APIException(Exception):
elif 'message' in self.response:
return 'HTTP Error %s: %s' % (self.status_code,
self.response['message'])
return 'HTTP Error %s' % (self.status_code)
return 'HTTP Error %s' % self.status_code
class ESIEndpoints(Enum):
@@ -89,7 +89,7 @@ class EsiAccess(object):
@property
def sso_url(self):
if (self.settings.get("ssoMode") == SsoMode.CUSTOM):
if self.settings.get("ssoMode") == SsoMode.CUSTOM:
return "https://login.eveonline.com"
return "https://www.pyfa.io"
@@ -136,7 +136,7 @@ class EsiAccess(object):
def getLoginURI(self, redirect=None):
self.state = str(uuid.uuid4())
if (self.settings.get("ssoMode") == SsoMode.AUTO):
if self.settings.get("ssoMode") == SsoMode.AUTO:
args = {
'state': self.state,
'pyfa_version': config.version,
@@ -256,7 +256,7 @@ class EsiAccess(object):
self._session.headers.update(self.get_oauth_header(ssoChar.accessToken))
def _after_request(self, resp):
if ("warning" in resp.headers):
if "warning" in resp.headers:
pyfalog.warn("{} - {}".format(resp.headers["warning"], resp.url))
if resp.status_code >= 400:

View File

@@ -18,33 +18,31 @@
# ===============================================================================
import copy
from logbook import Logger
from time import time
import datetime
from time import time
import wx
from logbook import Logger
import eos.db
from eos.saveddata.booster import Booster as es_Booster
from eos.saveddata.cargo import Cargo as es_Cargo
from eos.saveddata.character import Character as saveddata_Character
from eos.saveddata.citadel import Citadel as es_Citadel
from eos.saveddata.damagePattern import DamagePattern as es_DamagePattern
from eos.saveddata.drone import Drone as es_Drone
from eos.saveddata.fighter import Fighter as es_Fighter
from eos.saveddata.implant import Implant as es_Implant
from eos.saveddata.ship import Ship as es_Ship
from eos.saveddata.module import Module as es_Module, State, Slot, ProjectedMap, ProjectedSystem, LocalMap
from eos.saveddata.fit import Fit as FitType, ImplantLocation
from eos.saveddata.module import Module as es_Module, State
from eos.saveddata.ship import Ship as es_Ship
from service.character import Character
from service.damagePattern import DamagePattern
from service.fitDeprecated import FitDeprecated
from service.settings import SettingsProvider
from utils.deprecated import deprecated
import wx
from service.fitDeprecated import FitDeprecated
pyfalog = Logger(__name__)
class DeferRecalc():
class DeferRecalc:
def __init__(self, fitID):
self.fitID = fitID
self.sFit = Fit.getInstance()

View File

@@ -458,7 +458,7 @@ class FitDeprecated(object):
if m.isValidState(State.ACTIVE):
m.state = State.ACTIVE
if (recalc):
if recalc:
# As some items may affect state-limiting attributes of the ship, calculate new attributes first
self.recalc(fit)
# Then, check states of all modules and change where needed. This will recalc if needed

View File

@@ -17,9 +17,6 @@
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
import config
import pkg_resources
class Jargon(object):
def __init__(self, rawdata: dict):

View File

@@ -17,25 +17,22 @@
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
import re
import threading
from logbook import Logger
import queue
from itertools import chain
import threading
from collections import OrderedDict
# noinspection PyPackageRequirements
import wx
from logbook import Logger
from sqlalchemy.sql import or_
import config
import eos.db
from service import conversions
from service.settings import SettingsProvider
from service.jargon import JargonLoader
from eos.gamedata import Category as types_Category, Group as types_Group, Item as types_Item, MarketGroup as types_MarketGroup, \
MetaGroup as types_MetaGroup, MetaType as types_MetaType
from collections import OrderedDict
from service import conversions
from service.jargon import JargonLoader
from service.settings import SettingsProvider
pyfalog = Logger(__name__)

View File

@@ -18,12 +18,12 @@
# =============================================================================
import time
from logbook import Logger
from xml.dom import minidom
from service.network import Network
from service.price import Price, VALIDITY, TIMEOUT, TimeoutError
from logbook import Logger
from service.network import Network
from service.price import Price, TIMEOUT, VALIDITY
pyfalog = Logger(__name__)

View File

@@ -18,12 +18,12 @@
# =============================================================================
import time
from logbook import Logger
from xml.dom import minidom
from service.network import Network
from service.price import Price, VALIDITY, TIMEOUT, TimeoutError
from logbook import Logger
from service.network import Network
from service.price import Price, VALIDITY
pyfalog = Logger(__name__)

View File

@@ -1,23 +1,20 @@
import inspect
import os
import platform
import re
import sys
import traceback
import json
import eos.db
import json
from math import log
from logbook import Logger
import eos.db
from config import version as pyfaVersion
from eos.db import gamedata_session, getAttributeInfo, getCategory, getGroup
from eos.effectHandlerHelpers import HandledList
from eos.enum import Enum
from eos.gamedata import Attribute, Effect, Group, Item, ItemEffect
from eos.saveddata.drone import Drone
from eos.saveddata.module import Hardpoint, Module, Slot, State
from service.fit import Fit
from service.market import Market
from eos.enum import Enum
from eos.saveddata.module import Hardpoint, Slot, Module, State
from eos.saveddata.drone import Drone
from eos.effectHandlerHelpers import HandledList
from eos.db import gamedata_session, getItemsByCategory, getCategory, getAttributeInfo, getGroup
from eos.gamedata import Category, Group, Item, Traits, Attribute, Effect, ItemEffect
from logbook import Logger
pyfalog = Logger(__name__)
@@ -29,7 +26,7 @@ class RigSize(Enum):
CAPITAL = 4
class EfsPort():
class EfsPort:
wepTestSet = {}
version = 0.01
@@ -500,7 +497,7 @@ class EfsPort():
# Since the effect modules are fairly opaque a mock test fit is used to test the impact of traits.
# standin class used to prevent . notation causing issues when used as an arg
class standin():
class standin:
pass
tf = standin()
tf.modules = HandledList(turrets + launchers)

View File

@@ -1,7 +1,6 @@
import sys
import inspect
import re
import platform
import re
import sys
version_block = ''
@@ -10,7 +9,7 @@ class PreCheckException(Exception):
pass
class PreCheckMessage():
class PreCheckMessage:
def __init__(self, msg):
# wx may not be installed, in which case print to console. For all other prechecks, should pop up a MessageDialog
try:

View File

@@ -18,18 +18,17 @@
# =============================================================================
import time
import threading
import queue
from xml.dom import minidom
import threading
import time
from logbook import Logger
import wx
from logbook import Logger
from eos import db
from service.network import Network, TimeoutError
from service.fit import Fit
from service.market import Market
from service.network import TimeoutError
pyfalog = Logger(__name__)
@@ -235,4 +234,3 @@ class PriceWorkerThread(threading.Thread):
self.wait[x.typeID].append(callback)
from service.marketSources import evemarketer, evemarketdata # noqa: E402

View File

@@ -17,21 +17,19 @@
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
import threading
import json
import calendar
import threading
# noinspection PyPackageRequirements
import wx
# noinspection PyPackageRequirements
import dateutil.parser
# noinspection PyPackageRequirements
import wx
from logbook import Logger
from packaging.version import Version
import config
from service.network import Network
from service.settings import UpdateSettings
from logbook import Logger
from packaging.version import Version
pyfalog = Logger(__name__)

View File

@@ -1,9 +1,9 @@
# noinspection PyPackageRequirements
import wx
import sys
import os
import sys
import wx
script_dir = os.path.dirname(os.path.abspath(__file__))
# Add root to python paths, this allows us to import submodules
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..')))

View File

@@ -6,8 +6,6 @@ script_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))
# noinspection PyPackageRequirements
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
from _development.helpers_fits import RifterFit, KeepstarFit
def test_race(DB, RifterFit, KeepstarFit):
"""

View File

@@ -9,8 +9,6 @@ print(script_dir)
sys.path.append(script_dir)
# noinspection PyPackageRequirements
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
from _development.helpers_fits import RifterFit
def test_multiply_stacking_penalties(DB, Saveddata, RifterFit):
"""

View File

@@ -7,9 +7,6 @@ script_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..', '..')))
# noinspection PyPackageRequirements
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
from _development.helpers_fits import RifterFit, KeepstarFit
from _development.helpers_items import StrongBluePillBooster
def test_itemModifiedAttributes(DB, StrongBluePillBooster):

View File

@@ -4,14 +4,11 @@
# This must be done on every test in order to pass in Travis
import os
import sys
from copy import deepcopy
script_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..', '..')))
# noinspection PyPackageRequirements
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
from _development.helpers_fits import RifterFit, KeepstarFit, HeronFit
def test_calculateModifiedAttributes(DB, RifterFit, KeepstarFit):

View File

@@ -6,9 +6,7 @@ script_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))
# noinspection PyPackageRequirements
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
# noinspection PyPackageRequirements
from _development.helpers_fits import RifterFit, KeepstarFit
from service.fit import Fit

View File

@@ -64,8 +64,8 @@ def print_db_info():
import eos
print()
print("------------ data base connection info ------------")
print((eos.db.saveddata_engine))
print((eos.db.gamedata_engine))
print(eos.db.saveddata_engine)
print(eos.db.gamedata_engine)
print()

View File

@@ -1,6 +1,6 @@
'''
"""
string manipulation module
'''
"""
import re