Moved non-EOS enum to new service/const.py. Renamed FittingAttrGroup

to GuiAttrGroup
This commit is contained in:
Indiction
2019-03-12 23:17:25 +01:00
parent afa8c3c53a
commit 8b864692fb
8 changed files with 140 additions and 112 deletions

View File

@@ -17,7 +17,8 @@
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
from enum import Enum,IntEnum,unique,auto
from enum import IntEnum,unique
@unique
class FittingSlot(IntEnum):
@@ -82,74 +83,3 @@ 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):
"""
Contains the method of ESI login
"""
SERVER = 0
MANUAL = 1
@unique
class EsiSsoMode(IntEnum):
"""
Contains the mode of ESI sso mode
"""
AUTO = 0
CUSTOM = 1
class EsiEndpoints(Enum):
"""
Contains the endpoint paths for the ESI access
"""
CHAR = "/v4/characters/{character_id}/"
CHAR_SKILLS = "/v4/characters/{character_id}/skills/"
CHAR_FITTINGS = "/v1/characters/{character_id}/fittings/"
CHAR_DEL_FIT = "/v1/characters/{character_id}/fittings/{fitting_id}/"
@unique
class PortMultiBuyOptions(IntEnum):
"""
Contains different types of items to multibuy export
"""
IMPLANTS = 1
CARGO = 2
LOADED_CHARGES = 3
@unique
class PortEftOptions(IntEnum):
"""
Contains different options for eft-export
"""
IMPLANTS = 1
MUTATIONS = 2
LOADED_CHARGES = 3
@unique
class PortEftRigSize(IntEnum):
"""
Contains different sizes of ship rigs
"""
SMALL = 1
MEDIUM = 2
LARGE = 3
CAPITAL = 4

View File

@@ -1,4 +1,4 @@
from eos.const import FittingAttrGroup
from service.const import GuiAttrGroup
RequiredSkillAttrs = sum((["requiredSkill{}".format(x), "requiredSkill{}Level".format(x)] for x in range(1, 7)), [])
@@ -27,7 +27,7 @@ for x in AttrGroups:
# Start defining all the known attribute groups
AttrGroupDict = {
FittingAttrGroup.FITTING : {
GuiAttrGroup.FITTING : {
"label" : "Fitting",
"attributes": [
# parent-level attributes
@@ -49,7 +49,7 @@ AttrGroupDict = {
# "mass",
]
},
FittingAttrGroup.STRUCTURE : {
GuiAttrGroup.STRUCTURE : {
"label" : "Structure",
"attributes": [
"hp",
@@ -79,7 +79,7 @@ AttrGroupDict = {
"explosiveDamageResonance"
]
},
FittingAttrGroup.ARMOR : {
GuiAttrGroup.ARMOR : {
"label": "Armor",
"attributes":[
"armorHP",
@@ -91,7 +91,7 @@ AttrGroupDict = {
]
},
FittingAttrGroup.SHIELD : {
GuiAttrGroup.SHIELD : {
"label": "Shield",
"attributes": [
"shieldCapacity",
@@ -104,7 +104,7 @@ AttrGroupDict = {
]
},
FittingAttrGroup.EWAR_RESISTS : {
GuiAttrGroup.EWAR_RESISTS : {
"label": "Electronic Warfare",
"attributes": [
"ECMResistance",
@@ -117,14 +117,14 @@ AttrGroupDict = {
"weaponDisruptionResistance",
]
},
FittingAttrGroup.CAPACITOR : {
GuiAttrGroup.CAPACITOR : {
"label": "Capacitor",
"attributes": [
"capacitorCapacity",
"rechargeRate",
]
},
FittingAttrGroup.TARGETING : {
GuiAttrGroup.TARGETING : {
"label": "Targeting",
"attributes": [
"maxTargetRange",
@@ -142,7 +142,7 @@ AttrGroupDict = {
"scanLadarStrength",
]
},
FittingAttrGroup.SHARED_FACILITIES : {
GuiAttrGroup.SHARED_FACILITIES : {
"label" : "Shared Facilities",
"attributes": [
"fleetHangarCapacity",
@@ -150,7 +150,7 @@ AttrGroupDict = {
"maxJumpClones",
]
},
FittingAttrGroup.FIGHTER_FACILITIES: {
GuiAttrGroup.FIGHTER_FACILITIES: {
"label": "Fighter Squadron Facilities",
"attributes": [
"fighterCapacity",
@@ -163,7 +163,7 @@ AttrGroupDict = {
"fighterStandupHeavySlots",
]
},
FittingAttrGroup.ON_DEATH : {
GuiAttrGroup.ON_DEATH : {
"label": "On Death",
"attributes": [
"onDeathDamageEM",
@@ -174,7 +174,7 @@ AttrGroupDict = {
"onDeathSignatureRadius",
]
},
FittingAttrGroup.JUMP_SYSTEMS : {
GuiAttrGroup.JUMP_SYSTEMS : {
"label": "Jump Drive Systems",
"attributes": [
"jumpDriveCapacitorNeed",
@@ -188,13 +188,13 @@ AttrGroupDict = {
"jumpPortalDuration",
]
},
FittingAttrGroup.PROPULSIONS : {
GuiAttrGroup.PROPULSIONS : {
"label": "Propulsion",
"attributes": [
"maxVelocity"
]
},
FittingAttrGroup.FIGHTERS : {
GuiAttrGroup.FIGHTERS : {
"label": "Fighter",
"attributes": [
"mass",
@@ -210,25 +210,25 @@ AttrGroupDict = {
}
Group1 = [
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,
GuiAttrGroup.FITTING,
GuiAttrGroup.STRUCTURE,
GuiAttrGroup.ARMOR,
GuiAttrGroup.SHIELD,
GuiAttrGroup.EWAR_RESISTS,
GuiAttrGroup.CAPACITOR,
GuiAttrGroup.TARGETING,
GuiAttrGroup.SHARED_FACILITIES,
GuiAttrGroup.FIGHTER_FACILITIES,
GuiAttrGroup.ON_DEATH,
GuiAttrGroup.JUMP_SYSTEMS,
GuiAttrGroup.PROPULSIONS,
]
CategoryGroups = {
"Fighter" : [
FittingAttrGroup.FIGHTERS,
FittingAttrGroup.SHIELD,
FittingAttrGroup.TARGETING,
GuiAttrGroup.FIGHTERS,
GuiAttrGroup.SHIELD,
GuiAttrGroup.TARGETING,
],
"Ship" : Group1,
"Drone" : Group1,

View File

@@ -1,15 +1,14 @@
import csv
import config
# noinspection PyPackageRequirements
import wx
import wx.lib.agw.hypertreelist
from gui.builtinItemStatsViews.helpers import AutoListCtrl
from gui.bitmap_loader import BitmapLoader
from gui.utils.numberFormatter import formatAmount, roundDec
from enum import IntEnum
from gui.builtinItemStatsViews.attributeGrouping import *
from service.const import GuiAttrGroup
class AttributeView(IntEnum):
@@ -195,7 +194,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, [FittingAttrGroup.FITTING])
order = CategoryGroups.get(self.item.category.categoryName, [GuiAttrGroup.FITTING])
# start building out the tree
for data in [AttrGroupDict[o] for o in order]:
heading = data.get("label")

102
service/const.py Normal file
View File

@@ -0,0 +1,102 @@
# =============================================================================
# Copyright (C) 2019 Ryan Holmes
#
# This file is part of pyfa.
#
# pyfa is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# pyfa is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
from enum import Enum, IntEnum, unique, auto
@unique
class EsiLoginMethod(IntEnum):
"""
Contains the method of ESI login
"""
SERVER = 0
MANUAL = 1
@unique
class EsiSsoMode(IntEnum):
"""
Contains the mode of ESI sso mode
"""
AUTO = 0
CUSTOM = 1
class EsiEndpoints(Enum):
"""
Contains the endpoint paths for the ESI access
"""
CHAR = "/v4/characters/{character_id}/"
CHAR_SKILLS = "/v4/characters/{character_id}/skills/"
CHAR_FITTINGS = "/v1/characters/{character_id}/fittings/"
CHAR_DEL_FIT = "/v1/characters/{character_id}/fittings/{fitting_id}/"
@unique
class PortMultiBuyOptions(IntEnum):
"""
Contains different types of items for multibuy export
"""
IMPLANTS = 1
CARGO = 2
LOADED_CHARGES = 3
@unique
class PortEftOptions(IntEnum):
"""
Contains different options for eft-export
"""
IMPLANTS = 1
MUTATIONS = 2
LOADED_CHARGES = 3
@unique
class PortEftRigSize(IntEnum):
"""
Contains different sizes of ship rigs
This enum is not actively used, but maybe useful someday.
"""
SMALL = 1
MEDIUM = 2
LARGE = 3
CAPITAL = 4
@unique
class GuiAttrGroup(IntEnum):
"""
Define the various groups of attributes.
This enum is used for GUI functions and getting redefined in
/gui/builtinItemStatsViews/attributeGrouping.py
"""
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()

View File

@@ -9,9 +9,9 @@ import config
import webbrowser
import eos.db
from eos.const import EsiLoginMethod
from service.const import EsiLoginMethod, EsiSsoMode
from eos.saveddata.ssocharacter import SsoCharacter
from service.esiAccess import APIException, EsiSsoMode
from service.esiAccess import APIException
import gui.globalEvents as GE
from gui.ssoLogin import SsoLogin, SsoLoginServer
from service.server import StoppableHTTPServer, AuthHandler

View File

@@ -17,7 +17,7 @@ import config
import base64
import datetime
from eos.const import EsiSsoMode, EsiEndpoints
from service.const import EsiSsoMode, EsiEndpoints
from service.settings import EsiSettings, NetworkSettings
from requests import Session

View File

@@ -19,8 +19,7 @@
import re
from eos.const import PortEftRigSize
from eos.const import PortEftOptions
from service.const import PortEftOptions, PortEftRigSize
from logbook import Logger

View File

@@ -18,9 +18,7 @@
# =============================================================================
from eos.const import PortMultiBuyOptions
from service.const import PortMultiBuyOptions
MULTIBUY_OPTIONS = (
(PortMultiBuyOptions.LOADED_CHARGES.value, 'Loaded Charges', 'Export charges loaded into modules', True),