diff --git a/service/port/eft.py b/service/port/eft.py index ad984a068..fac4b8508 100644 --- a/service/port/eft.py +++ b/service/port/eft.py @@ -48,7 +48,7 @@ class Options(Enum): MODULE_CATS = ('Module', 'Subsystem', 'Structure Module') SLOT_ORDER = (Slot.LOW, Slot.MED, Slot.HIGH, Slot.RIG, Slot.SUBSYSTEM, Slot.SERVICE) -OFFLINE_SUFFIX = ' /OFFLINE' +OFFLINE_SUFFIX = '/OFFLINE' EFT_OPTIONS = { Options.IMPLANTS.value: { @@ -379,7 +379,7 @@ class EftPort: mutantReference += 1 else: mutationSuffix = '' - modOfflineSuffix = OFFLINE_SUFFIX if module.state == State.OFFLINE else '' + modOfflineSuffix = ' {}'.format(OFFLINE_SUFFIX) if module.state == State.OFFLINE else '' if module.charge and sFit.serviceFittingOptions['exportCharges']: rackLines.append('{}, {}{}{}'.format( modName, module.charge.name, modOfflineSuffix, mutationSuffix)) @@ -467,9 +467,9 @@ class EftPort: aFit.mutations = cls.__getMutationData(lines) nameChars = '[^,/\[\]]' # Characters which are allowed to be used in name - stubPattern = '^\[.+\]$' - modulePattern = '^(?P{0}+)(, (?P{0}+))?(?P{1})?( \[(?P\d+)\])?$'.format(nameChars, OFFLINE_SUFFIX) - droneCargoPattern = '^(?P{}+) x(?P\d+)$'.format(nameChars) + stubPattern = '^\[.+?\]$' + modulePattern = '^(?P{0}+?)(,\s*(?P{0}+?))?(?P\s*{1})?(\s*\[(?P\d+?)\])?$'.format(nameChars, OFFLINE_SUFFIX) + droneCargoPattern = '^(?P{}+?) x(?P\d+?)$'.format(nameChars) sections = [] for section in cls.__importSectionIter(lines): @@ -670,7 +670,7 @@ class EftPort: """Create fit and set top-level entity (ship or citadel).""" fit = Fit() header = lines.pop(0) - m = re.match('\[(?P[\w\s]+), (?P.+)\]', header) + m = re.match('\[(?P[\w\s]+),\s*(?P.+)\]', header) if not m: pyfalog.warning('EftPort.importEft: corrupted fit header') raise EftImportError diff --git a/service/port/port.py b/service/port/port.py index 5b942263e..9f359b36b 100644 --- a/service/port/port.py +++ b/service/port/port.py @@ -814,7 +814,7 @@ class Port(object): @staticmethod def importXml(text, iportuser=None): - # type: (basestring, IPortUser, basestring) -> list[eos.saveddata.fit.Fit] + # type: (str, IPortUser) -> list[eos.saveddata.fit.Fit] sMkt = Market.getInstance() doc = xml.dom.minidom.parseString(text) # NOTE: