def backupToXml(self, event): """ Back up all fits to EVE XML file """ defaultFile = "pyfa-fits-%s.xml" % strftime("%Y%m%d_%H%M%S", gmtime()) saveDialog = wx.FileDialog( self, "Save Backup As...", wildcard="EVE XML fitting file (*.xml)|*.xml", style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT, defaultFile=defaultFile, ) if saveDialog.ShowModal() == wx.ID_OK: filePath = saveDialog.GetPath() if '.' not in os.path.basename(filePath): filePath += ".xml" sFit = Fit.getInstance() max_ = sFit.countAllFits() self.progressDialog = wx.ProgressDialog( "Backup fits", "Backing up %d fits to: %s" % (max_, filePath), maximum=max_, parent=self, style=wx.PD_APP_MODAL | wx.PD_ELAPSED_TIME, ) Port().backupFits(filePath, self.backupCallback) self.progressDialog.ShowModal()
def importFromClipboard(self, event): clipboard = fromClipboard() try: fits = Port().importFitFromBuffer(clipboard, self.getActiveFit()) except: pyfalog.error("Attempt to import failed:\n{0}", clipboard) else: self._openAfterImport(fits)
def importFromClipboard(self, event): clipboard = fromClipboard() activeFit = self.getActiveFit() try: importType, importData = Port().importFitFromBuffer( clipboard, activeFit) if importType == "FittingItem": baseItem, mutaplasmidItem, mutations = importData[0] if mutaplasmidItem: self.command.Submit( cmd.GuiImportLocalMutatedModuleCommand( activeFit, baseItem, mutaplasmidItem, mutations)) else: self.command.Submit( cmd.GuiAddLocalModuleCommand(activeFit, baseItem.ID)) return if importType == "AdditionsDrones": if self.command.Submit( cmd.GuiImportLocalDronesCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Drones") return if importType == "AdditionsFighters": if self.command.Submit( cmd.GuiImportLocalFightersCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Fighters") return if importType == "AdditionsImplants": if self.command.Submit( cmd.GuiImportImplantsCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Implants") return if importType == "AdditionsBoosters": if self.command.Submit( cmd.GuiImportBoostersCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Boosters") return if importType == "AdditionsCargo": if self.command.Submit( cmd.GuiImportCargosCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Cargo") return except (KeyboardInterrupt, SystemExit): raise except: pyfalog.error("Attempt to import failed:\n{0}", clipboard) else: self._openAfterImport(importData)
def importFromClipboard(self, event): clipboard = fromClipboard() activeFit = self.getActiveFit() try: importType, importData = Port().importFitFromBuffer(clipboard, activeFit) # If it's mutated item - make sure there's at least base item specified if importType == "MutatedItem": # we've imported an Abyssal module, need to fire off the command to add it to the fit self.command.Submit(cmd.GuiImportLocalMutatedModuleCommand(activeFit, *importData[0])) return # no need to do anything else except: pyfalog.error("Attempt to import failed:\n{0}", clipboard) else: self._openAfterImport(importData)
def importFromClipboard(self, event): clipboard = fromClipboard() activeFit = self.getActiveFit() try: importType, importData = Port().importFitFromBuffer( clipboard, activeFit) if importType == "MutatedItem": # we've imported an Abyssal module, need to fire off the command to add it to the fit self.command.Submit( cmd.GuiImportLocalMutatedModuleCommand( activeFit, *importData[0])) return if importType == "AdditionsDrones": if self.command.Submit( cmd.GuiImportLocalDronesCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Drones") return if importType == "AdditionsFighters": if self.command.Submit( cmd.GuiImportLocalFightersCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Fighters") return if importType == "AdditionsImplants": if self.command.Submit( cmd.GuiImportImplantsCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Implants") return if importType == "AdditionsBoosters": if self.command.Submit( cmd.GuiImportBoostersCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Boosters") return if importType == "AdditionsCargo": if self.command.Submit( cmd.GuiImportCargosCommand( activeFit, [(i.ID, a) for i, a in importData[0]])): self.additionsPane.select("Cargo") return except: pyfalog.error("Attempt to import failed:\n{0}", clipboard) else: self._openAfterImport(importData)
def fitSelected(self, event): pyfalog.debug('====== Fit Selected: ' + repr(self) + str(bool(self))) if self.parent.IsActive(self): fitID = event.fitID startup = getattr(event, "startup", False) self.activeFitID = fitID sFit = Fit.getInstance() # VEETOR TINKERING START self.mainFrame.command.Submit(cmd.GuiToggleLocalDroneStatesCommand( fitID=fitID, mainPosition=0, positions=[0])) # VEETOR TINKERING END self.updateTab() if not startup or startup == 2: # see OpenFitsThread in gui.mainFrame self.Show(fitID is not None) self.slotsChanged() sFit.switchFit(fitID) # @todo pheonix: had to disable this as it was causing a crash at the wxWidgets level. Dunno why, investigate wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,))) # VEETOR TINKERING START if self.mainFrame.options.fit is not None: fit_parsed = self.mainFrame.getActiveFit() from eos.db import getFit fit_db = getFit(fit_parsed) from service.port import Port exp = Port().exportFitStatsJson(fit_db) print(exp) sFit.deleteFit(fitID) wx.PostEvent(self.mainFrame, GE.FitRemoved(fitID=fitID)) import sys sys.exit(0) # VEETOR TINKERING END event.Skip()