diff --git a/eos/const.py b/eos/const.py index 63b7cc533..dfb1705ce 100644 --- a/eos/const.py +++ b/eos/const.py @@ -17,8 +17,7 @@ # along with pyfa. If not, see . # ============================================================================= -from eos.enum import Enum -from enum import IntEnum,unique +from enum import Enum,IntEnum,unique,auto @unique class FittingSlot(IntEnum): @@ -83,6 +82,25 @@ class FittingHardpoint(IntEnum): MISSILE = 1 TURRET = 2 +@unique +class FittingAttrGroup(IntEnum): + """ + Define the various groups of attributes + """ + FITTING = auto() + STRUCTURE = auto() + SHIELD = auto() + ARMOR = auto() + TARGETING = auto() + EWAR_RESISTS = auto() + CAPACITOR = auto() + SHARED_FACILITIES = auto() + FIGHTER_FACILITIES = auto() + ON_DEATH = auto() + JUMP_SYSTEMS = auto() + PROPULSIONS = auto() + FIGHTERS = auto() + @unique class EsiLoginMethod(IntEnum): """ @@ -126,7 +144,8 @@ class PortEftOptions(IntEnum): MUTATIONS = 2 LOADED_CHARGES = 3 -class PortEftRigSize(Enum): +@unique +class PortEftRigSize(IntEnum): """ Contains different sizes of ship rigs """ diff --git a/eos/enum.py b/eos/enum.py deleted file mode 100644 index 12e8e09e1..000000000 --- a/eos/enum.py +++ /dev/null @@ -1,23 +0,0 @@ -class Enum(object): - def __init__(self): - pass - - @classmethod - def getTypes(cls): - for stuff in cls.__dict__: - if stuff.upper() == stuff: - yield stuff - - @classmethod - def getName(cls, v): - map = getattr(cls, "_map", None) - if map is None: - map = cls._map = {} - for type in cls.getTypes(): - map[cls.getValue(type)] = type - - return map.get(v) - - @classmethod - def getValue(cls, type): - return cls.__dict__[type] diff --git a/eos/saveddata/fit.py b/eos/saveddata/fit.py index 0daff8b50..028c20379 100644 --- a/eos/saveddata/fit.py +++ b/eos/saveddata/fit.py @@ -28,7 +28,6 @@ from sqlalchemy.orm import validates, reconstructor import eos.db from eos import capSim from eos.effectHandlerHelpers import HandledModuleList, HandledDroneCargoList, HandledImplantBoosterList, HandledProjectedDroneList, HandledProjectedModList -from eos.enum import Enum from eos.const import ImplantLocation, CalcType, FittingSlot from eos.saveddata.ship import Ship from eos.saveddata.drone import Drone diff --git a/eos/saveddata/module.py b/eos/saveddata/module.py index 57f61cca8..8a842d6c6 100644 --- a/eos/saveddata/module.py +++ b/eos/saveddata/module.py @@ -25,7 +25,7 @@ from sqlalchemy.orm import reconstructor, validates import eos.db from eos.const import FittingModuleState, FittingHardpoint, FittingSlot from eos.effectHandlerHelpers import HandledCharge, HandledItem -from eos.enum import Enum +from enum import Enum from eos.modifiedAttributeDict import ChargeAttrShortcut, ItemAttrShortcut, ModifiedAttributeDict from eos.saveddata.citadel import Citadel from eos.saveddata.mutator import Mutator diff --git a/gui/builtinItemStatsViews/attributeGrouping.py b/gui/builtinItemStatsViews/attributeGrouping.py index 0edccd8ca..d27b1231d 100644 --- a/gui/builtinItemStatsViews/attributeGrouping.py +++ b/gui/builtinItemStatsViews/attributeGrouping.py @@ -1,21 +1,4 @@ -from enum import Enum, auto - -# Define the various groups of attributes -class AttrGroup(Enum): - FITTING = auto() - STRUCTURE = auto() - SHIELD = auto() - ARMOR = auto() - TARGETING = auto() - EWAR_RESISTS = auto() - CAPACITOR = auto() - SHARED_FACILITIES = auto() - FIGHTER_FACILITIES = auto() - ON_DEATH = auto() - JUMP_SYSTEMS = auto() - PROPULSIONS = auto() - FIGHTERS = auto() - +from eos.const import FittingAttrGroup RequiredSkillAttrs = sum((["requiredSkill{}".format(x), "requiredSkill{}Level".format(x)] for x in range(1, 7)), []) @@ -44,7 +27,7 @@ for x in AttrGroups: # Start defining all the known attribute groups AttrGroupDict = { - AttrGroup.FITTING : { + FittingAttrGroup.FITTING : { "label" : "Fitting", "attributes": [ # parent-level attributes @@ -66,7 +49,7 @@ AttrGroupDict = { # "mass", ] }, - AttrGroup.STRUCTURE : { + FittingAttrGroup.STRUCTURE : { "label" : "Structure", "attributes": [ "hp", @@ -96,7 +79,7 @@ AttrGroupDict = { "explosiveDamageResonance" ] }, - AttrGroup.ARMOR : { + FittingAttrGroup.ARMOR : { "label": "Armor", "attributes":[ "armorHP", @@ -108,7 +91,7 @@ AttrGroupDict = { ] }, - AttrGroup.SHIELD : { + FittingAttrGroup.SHIELD : { "label": "Shield", "attributes": [ "shieldCapacity", @@ -121,7 +104,7 @@ AttrGroupDict = { ] }, - AttrGroup.EWAR_RESISTS : { + FittingAttrGroup.EWAR_RESISTS : { "label": "Electronic Warfare", "attributes": [ "ECMResistance", @@ -134,14 +117,14 @@ AttrGroupDict = { "weaponDisruptionResistance", ] }, - AttrGroup.CAPACITOR : { + FittingAttrGroup.CAPACITOR : { "label": "Capacitor", "attributes": [ "capacitorCapacity", "rechargeRate", ] }, - AttrGroup.TARGETING : { + FittingAttrGroup.TARGETING : { "label": "Targeting", "attributes": [ "maxTargetRange", @@ -159,7 +142,7 @@ AttrGroupDict = { "scanLadarStrength", ] }, - AttrGroup.SHARED_FACILITIES : { + FittingAttrGroup.SHARED_FACILITIES : { "label" : "Shared Facilities", "attributes": [ "fleetHangarCapacity", @@ -167,7 +150,7 @@ AttrGroupDict = { "maxJumpClones", ] }, - AttrGroup.FIGHTER_FACILITIES: { + FittingAttrGroup.FIGHTER_FACILITIES: { "label": "Fighter Squadron Facilities", "attributes": [ "fighterCapacity", @@ -180,7 +163,7 @@ AttrGroupDict = { "fighterStandupHeavySlots", ] }, - AttrGroup.ON_DEATH : { + FittingAttrGroup.ON_DEATH : { "label": "On Death", "attributes": [ "onDeathDamageEM", @@ -191,7 +174,7 @@ AttrGroupDict = { "onDeathSignatureRadius", ] }, - AttrGroup.JUMP_SYSTEMS : { + FittingAttrGroup.JUMP_SYSTEMS : { "label": "Jump Drive Systems", "attributes": [ "jumpDriveCapacitorNeed", @@ -205,13 +188,13 @@ AttrGroupDict = { "jumpPortalDuration", ] }, - AttrGroup.PROPULSIONS : { + FittingAttrGroup.PROPULSIONS : { "label": "Propulsion", "attributes": [ "maxVelocity" ] }, - AttrGroup.FIGHTERS : { + FittingAttrGroup.FIGHTERS : { "label": "Fighter", "attributes": [ "mass", @@ -227,25 +210,25 @@ AttrGroupDict = { } Group1 = [ - AttrGroup.FITTING, - AttrGroup.STRUCTURE, - AttrGroup.ARMOR, - AttrGroup.SHIELD, - AttrGroup.EWAR_RESISTS, - AttrGroup.CAPACITOR, - AttrGroup.TARGETING, - AttrGroup.SHARED_FACILITIES, - AttrGroup.FIGHTER_FACILITIES, - AttrGroup.ON_DEATH, - AttrGroup.JUMP_SYSTEMS, - AttrGroup.PROPULSIONS, + FittingAttrGroup.FITTING, + FittingAttrGroup.STRUCTURE, + FittingAttrGroup.ARMOR, + FittingAttrGroup.SHIELD, + FittingAttrGroup.EWAR_RESISTS, + FittingAttrGroup.CAPACITOR, + FittingAttrGroup.TARGETING, + FittingAttrGroup.SHARED_FACILITIES, + FittingAttrGroup.FIGHTER_FACILITIES, + FittingAttrGroup.ON_DEATH, + FittingAttrGroup.JUMP_SYSTEMS, + FittingAttrGroup.PROPULSIONS, ] CategoryGroups = { "Fighter" : [ - AttrGroup.FIGHTERS, - AttrGroup.SHIELD, - AttrGroup.TARGETING, + FittingAttrGroup.FIGHTERS, + FittingAttrGroup.SHIELD, + FittingAttrGroup.TARGETING, ], "Ship" : Group1, "Drone" : Group1, diff --git a/gui/builtinItemStatsViews/itemAttributes.py b/gui/builtinItemStatsViews/itemAttributes.py index 747f25066..49149484d 100644 --- a/gui/builtinItemStatsViews/itemAttributes.py +++ b/gui/builtinItemStatsViews/itemAttributes.py @@ -195,7 +195,7 @@ class ItemParams(wx.Panel): misc_parent = root # We must first deet4ermine if it's categorey already has defined groupings set for it. Otherwise, we default to just using the fitting group - order = CategoryGroups.get(self.item.category.categoryName, [AttrGroup.FITTING]) + order = CategoryGroups.get(self.item.category.categoryName, [FittingAttrGroup.FITTING]) # start building out the tree for data in [AttrGroupDict[o] for o in order]: heading = data.get("label") diff --git a/service/esi.py b/service/esi.py index ce7d9a0cf..c67ee76f8 100644 --- a/service/esi.py +++ b/service/esi.py @@ -9,7 +9,6 @@ import config import webbrowser import eos.db -from eos.enum import Enum from eos.const import EsiLoginMethod from eos.saveddata.ssocharacter import SsoCharacter from service.esiAccess import APIException, EsiSsoMode diff --git a/service/esiAccess.py b/service/esiAccess.py index 0afe2bbc3..8bb4aedcd 100644 --- a/service/esiAccess.py +++ b/service/esiAccess.py @@ -17,7 +17,6 @@ import config import base64 import datetime -from eos.enum import Enum from eos.const import EsiSsoMode, EsiEndpoints from service.settings import EsiSettings, NetworkSettings diff --git a/service/port/efs.py b/service/port/efs.py index 8d253c621..5c0a5219f 100755 --- a/service/port/efs.py +++ b/service/port/efs.py @@ -6,7 +6,6 @@ from numbers import Number from config import version as pyfaVersion from service.fit import Fit from service.market import Market -from eos.enum import Enum from eos.saveddata.module import FittingHardpoint, Module, FittingModuleState from eos.saveddata.drone import Drone from eos.effectHandlerHelpers import HandledList diff --git a/service/port/eft.py b/service/port/eft.py index a16a77a80..9b9e97743 100644 --- a/service/port/eft.py +++ b/service/port/eft.py @@ -19,7 +19,6 @@ import re -from enum import Enum from eos.const import PortEftRigSize from eos.const import PortEftOptions diff --git a/service/port/multibuy.py b/service/port/multibuy.py index 5ea6e7afa..46d7a72e1 100644 --- a/service/port/multibuy.py +++ b/service/port/multibuy.py @@ -18,7 +18,6 @@ # ============================================================================= -from enum import Enum from eos.const import PortMultiBuyOptions