def searchShip(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = [ "System", "Permit", "StarDist", "Station", "Distance", "Age", "" ] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) shipID = self.shipList[self.shipComboBox.currentIndex()] maxAgeDate = datetime.utcnow() - timedelta( days=self.maxAgeSpinBox.value()) shipyards = self.mydb.getShipyardWithShip(shipID, systemID, maxAgeDate) for shipyard in shipyards: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), shipyard["System"]) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not shipyard["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("StarDist")), shipyard["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Station")), shipyard["Station"]) model.setData(model.index(0, self.headerList.index("Distance")), shipyard["dist"]) model.item(0, self.headerList.index("Distance")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Age")), guitools.convertDateimeToAgeStr(shipyard["age"])) model.item(0, self.headerList.index("Age")).setTextAlignment( QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: self.listView.sortByColumn(self.headerList.index("Distance"), QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def searchShip(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = ["System", "Permit", "StarDist", "Station", "Distance", "Age", ""] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) shipID = self.shipList[ self.shipComboBox.currentIndex() ] maxAgeDate = datetime.utcnow() - timedelta(days=self.maxAgeSpinBox.value()) shipyards = self.mydb.getShipyardWithShip(shipID, systemID, maxAgeDate) for shipyard in shipyards: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), shipyard["System"]) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not shipyard["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("StarDist")), shipyard["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Station")), shipyard["Station"]) model.setData(model.index(0, self.headerList.index("Distance")), shipyard["dist"]) model.item(0, self.headerList.index("Distance")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Age")), guitools.convertDateimeToAgeStr(shipyard["age"])) model.item(0, self.headerList.index("Age")).setTextAlignment(QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: self.listView.sortByColumn(self.headerList.index("Distance"), QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def searchDeals(self): # self.saveOptions() firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = [ "PriceID", "Item", "From", "Buy", "Stock", "To", "Sell", "Profit", "FromAge", "ToAge", "" ] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) fromSystem = self.fromSystem.text() fromSystemID = self.mydb.getSystemIDbyName(fromSystem) fromStation = self.fromStation.text() fromStationID = self.mydb.getStationID(fromSystemID, fromStation) toSystem = self.toSystem.text() toSystemID = self.mydb.getSystemIDbyName(toSystem) toStation = self.toStation.text() toStationID = self.mydb.getStationID(toSystemID, toStation) maxAgeDate = datetime.utcnow() - timedelta( days=self.maxAgeSpinBox.value()) minStock = self.minStockSpinBox.value() startDist = self.maxStartDistSpinBox.value() if not fromSystemID or not fromStationID or not toSystemID: return # self.main.lockDB() if fromStationID and toStationID: deals = self.mydb.getDealsFromTo(fromStationID, toStationID, maxAgeDate, minStock) elif fromStationID and toSystemID: deals = self.mydb.getDealsFromToSystem(fromStationID, toSystemID, startDist, maxAgeDate, minStock) else: deals = [] for deal in deals: if self.minProfitSpinBox.value() <= deal["Profit"]: model.insertRow(0) model.setData(model.index(0, self.headerList.index("PriceID")), deal["priceAid"]) model.setData(model.index(0, self.headerList.index("From")), deal["fromStation"]) model.setData(model.index(0, self.headerList.index("To")), deal["toStation"]) model.setData(model.index(0, self.headerList.index("Item")), deal["itemName"]) model.setData(model.index(0, self.headerList.index("Buy")), deal["StationSell"]) model.item(0, self.headerList.index("Buy")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Sell")), deal["StationBuy"]) model.item(0, self.headerList.index("Sell")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Profit")), deal["Profit"]) model.item(0, self.headerList.index("Profit")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Stock")), deal["Stock"]) model.item(0, self.headerList.index("Stock")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("FromAge")), guitools.convertDateimeToAgeStr(deal["fromAge"])) model.item(0, self.headerList.index("FromAge")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("ToAge")), guitools.convertDateimeToAgeStr(deal["toAge"])) model.item(0, self.headerList.index("ToAge")).setTextAlignment( QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig('option_dft.header.sectionPos') if sectionPos: sectionPosList = sectionPos.strip().split(',') for i, pos in enumerate(sectionPosList): self.listView.header().moveSection( self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn( self.headerList.index("Profit"), PySide.QtCore.Qt.SortOrder.DescendingOrder) self.listView.hideColumn(self.headerList.index("PriceID")) # self.main.unlockDB() for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def searchDeals(self): # self.saveOptions() firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = ["PriceID", "Item", "From", "Buy", "Stock", "To", "Sell", "Profit", "FromAge", "ToAge", ""] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) fromSystem = self.fromSystem.text() fromSystemID = self.mydb.getSystemIDbyName(fromSystem) fromStation = self.fromStation.text() fromStationID = self.mydb.getStationID(fromSystemID, fromStation) toSystem = self.toSystem.text() toSystemID = self.mydb.getSystemIDbyName(toSystem) toStation = self.toStation.text() toStationID = self.mydb.getStationID(toSystemID, toStation) maxAgeDate = datetime.utcnow() - timedelta(days=self.maxAgeSpinBox.value()) minStock = self.minStockSpinBox.value() startDist = self.maxStartDistSpinBox.value() if not fromSystemID or not fromStationID or not toSystemID: return # self.main.lockDB() if fromStationID and toStationID: deals = self.mydb.getDealsFromTo(fromStationID, toStationID, maxAgeDate, minStock) elif fromStationID and toSystemID: deals = self.mydb.getDealsFromToSystem(fromStationID, toSystemID, startDist, maxAgeDate, minStock) else: deals = [] for deal in deals: if self.minProfitSpinBox.value() <= deal["Profit"]: model.insertRow(0) model.setData(model.index(0, self.headerList.index("PriceID")), deal["priceAid"]) model.setData(model.index(0, self.headerList.index("From")), deal["fromStation"]) model.setData(model.index(0, self.headerList.index("To")), deal["toStation"]) model.setData(model.index(0, self.headerList.index("Item")), deal["itemName"]) model.setData(model.index(0, self.headerList.index("Buy")), deal["StationSell"]) model.item(0, self.headerList.index("Buy")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Sell")), deal["StationBuy"]) model.item(0, self.headerList.index("Sell")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Profit")), deal["Profit"]) model.item(0, self.headerList.index("Profit")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Stock")), deal["Stock"]) model.item(0, self.headerList.index("Stock")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("FromAge")), guitools.convertDateimeToAgeStr(deal["fromAge"])) model.item(0, self.headerList.index("FromAge")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("ToAge")), guitools.convertDateimeToAgeStr(deal["toAge"])) model.item(0, self.headerList.index("ToAge")).setTextAlignment(QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig('option_dft.header.sectionPos') if sectionPos: sectionPosList = sectionPos.strip().split(',') for i, pos in enumerate(sectionPosList): self.listView.header().moveSection(self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn(self.headerList.index("Profit"), PySide.QtCore.Qt.SortOrder.DescendingOrder) self.listView.hideColumn(self.headerList.index("PriceID")) # self.main.unlockDB() for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def showStatus(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = [ "System", "Station", "StarDist", "Permit", "Distance", "Age", "Info" ] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) if not systemID: return distance = self.searchRangeSpinBox.value() infoAge = datetime.utcnow() - timedelta( hours=self.infoAgeSpinBox.value()) dataList = self.mydb.getSystemDeteilsInDistance(systemID, distance) for data in dataList: infoText = "" showEntry = False age = "" ''' StarDist AND missing Station''' if self.noStationWarning.isChecked() and not data["Station"]: showEntry = True if infoText: infoText += ", " infoText = "No station in system?" elif data["Station"] and (not data["StarDist"] or data["StarDist"] < 1): showEntry = True if infoText: infoText += ", " infoText = "No star dist for station" ''' Price ''' if self.priceWarning.isChecked(): if data["priceAge"] and data["priceAge"] < infoAge: showEntry = True if infoText: infoText += ", " infoText += "Old price data" if age: age += ", " age = guitools.convertDateimeToAgeStr(data["priceAge"]) elif not data["priceAge"] and data["market"]: showEntry = True if infoText: infoText += ", " infoText += "No price data" ''' Outfitting ''' if self.outfittingWarning.isChecked() and data["outfitting"]: outfittingAge = self.mydb.getOutfittingDataAge( data["StationID"]) if outfittingAge and outfittingAge < infoAge: showEntry = True if infoText: infoText += ", " infoText += "Old outfitting data" if age: age += ", " age += guitools.convertDateimeToAgeStr(outfittingAge) elif not outfittingAge: showEntry = True if infoText: infoText += ", " infoText += "No outfitting data" ''' Shipyard ''' if self.shipyardWarning.isChecked() and data["shipyard"]: shipyardAge = self.mydb.getShipyardDataAge(data["StationID"]) if shipyardAge and shipyardAge < infoAge: showEntry = True if infoText: infoText += ", " infoText += "Old shipyard data" if age: age += ", " age += guitools.convertDateimeToAgeStr(shipyardAge) elif not shipyardAge: showEntry = True if infoText: infoText += ", " infoText += "No shipyard data" if showEntry: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), data["System"]) model.setData(model.index(0, self.headerList.index("Station")), data["Station"]) model.setData( model.index(0, self.headerList.index("StarDist")), data["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not data["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData( model.index(0, self.headerList.index("Distance")), data["dist"]) model.item(0, self.headerList.index("Distance")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Age")), age) model.item(0, self.headerList.index("Age")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("Info")), infoText) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig('option_ds.header.sectionPos') if sectionPos: sectionPosList = sectionPos.strip().split(',') for i, pos in enumerate(sectionPosList): self.listView.header().moveSection( self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn(self.headerList.index("Distance"), QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def showStatus(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = ["System", "Station", "StarDist", "Permit", "Distance", "Age", "Info"] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) if not systemID: return distance = self.searchRangeSpinBox.value() infoAge = datetime.utcnow() - timedelta(hours=self.infoAgeSpinBox.value()) dataList = self.mydb.getSystemDeteilsInDistance(systemID, distance) for data in dataList: infoText = "" showEntry = False age = "" """ StarDist AND missing Station""" if self.noStationWarning.isChecked() and not data["Station"]: showEntry = True if infoText: infoText += ", " infoText = "No station in system?" elif data["Station"] and (not data["StarDist"] or data["StarDist"] < 1): showEntry = True if infoText: infoText += ", " infoText = "No star dist for station" """ Price """ if self.priceWarning.isChecked(): if data["priceAge"] and data["priceAge"] < infoAge: showEntry = True if infoText: infoText += ", " infoText += "Old price data" if age: age += ", " age = guitools.convertDateimeToAgeStr(data["priceAge"]) elif not data["priceAge"] and data["market"]: showEntry = True if infoText: infoText += ", " infoText += "No price data" """ Outfitting """ if self.outfittingWarning.isChecked() and data["outfitting"]: outfittingAge = self.mydb.getOutfittingDataAge(data["StationID"]) if outfittingAge and outfittingAge < infoAge: showEntry = True if infoText: infoText += ", " infoText += "Old outfitting data" if age: age += ", " age += guitools.convertDateimeToAgeStr(outfittingAge) elif not outfittingAge: showEntry = True if infoText: infoText += ", " infoText += "No outfitting data" """ Shipyard """ if self.shipyardWarning.isChecked() and data["shipyard"]: shipyardAge = self.mydb.getShipyardDataAge(data["StationID"]) if shipyardAge and shipyardAge < infoAge: showEntry = True if infoText: infoText += ", " infoText += "Old shipyard data" if age: age += ", " age += guitools.convertDateimeToAgeStr(shipyardAge) elif not shipyardAge: showEntry = True if infoText: infoText += ", " infoText += "No shipyard data" if showEntry: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), data["System"]) model.setData(model.index(0, self.headerList.index("Station")), data["Station"]) model.setData(model.index(0, self.headerList.index("StarDist")), data["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not data["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("Distance")), data["dist"]) model.item(0, self.headerList.index("Distance")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Age")), age) model.item(0, self.headerList.index("Age")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("Info")), infoText) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig("option_ds.header.sectionPos") if sectionPos: sectionPosList = sectionPos.strip().split(",") for i, pos in enumerate(sectionPosList): self.listView.header().moveSection(self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn(self.headerList.index("Distance"), QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def searchOutfitting(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = ["System", "Permit", "StarDist", "Station", "Distance", "Name", "Class", "Rating", "Mount", "Category", "Guidance", "Ship", "Age", ""] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) nameID = self.modulList[ self.modulComboBox.currentIndex() ] distance = self.searchRangeSpinBox.value() maxAgeDate = datetime.utcnow() - timedelta(days=self.maxAgeSpinBox.value()) classID = int(self.classComboBox.currentIndex()) - 1 rating = None if self.ratingComboBox.currentIndex() > 0: rating = self.ratingComboBox.currentText() mountID = self.mountList[ self.mountComboBox.currentIndex() ] shipID = self.shipList[ self.shipComboBox.currentIndex() ] outfittings = self.outfitting.getOutfitting(nameID, distance, self.maxStartDistSpinBox.value(), maxAgeDate, systemID, classID, rating, mountID, shipID, self.allegiancesComboBox.currentIndex(), self.governmentsComboBox.currentIndex()) for outfitting in outfittings: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), outfitting["System"]) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not outfitting["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("StarDist")), outfitting["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Station")), outfitting["Station"]) model.setData(model.index(0, self.headerList.index("Distance")), outfitting["dist"]) model.item(0, self.headerList.index("Distance")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Name")), outfitting["modulname"]) model.setData(model.index(0, self.headerList.index("Class")), outfitting["Class"]) model.item(0, self.headerList.index("Class")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("Rating")), outfitting["Rating"]) model.item(0, self.headerList.index("Rating")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("Mount")), outfitting["mount"]) model.setData(model.index(0, self.headerList.index("Category")), outfitting["category"]) if outfitting["guidance"]: model.setData(model.index(0, self.headerList.index("Guidance")), outfitting["guidance"]) if outfitting["ShipID"]: model.setData(model.index(0, self.headerList.index("Ship")), outfitting["Name"]) model.setData(model.index(0, self.headerList.index("Age")), guitools.convertDateimeToAgeStr(outfitting["modifydate"])) model.item(0, self.headerList.index("Age")).setTextAlignment(QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig('option_of.header.sectionPos') if sectionPos: sectionPosList = sectionPos.strip().split(',') for i, pos in enumerate(sectionPosList): self.listView.header().moveSection(self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn(self.headerList.index("Distance"), QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def searchOutfitting(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = [ "System", "Permit", "StarDist", "Station", "Distance", "Name", "Class", "Rating", "Mount", "Category", "Guidance", "Ship", "Age", "" ] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) nameID = self.modulList[self.modulComboBox.currentIndex()] distance = self.searchRangeSpinBox.value() maxAgeDate = datetime.utcnow() - timedelta( days=self.maxAgeSpinBox.value()) classID = int(self.classComboBox.currentIndex()) - 1 rating = None if self.ratingComboBox.currentIndex() > 0: rating = self.ratingComboBox.currentText() mountID = self.mountList[self.mountComboBox.currentIndex()] shipID = self.shipList[self.shipComboBox.currentIndex()] outfittings = self.outfitting.getOutfitting( nameID, distance, self.maxStartDistSpinBox.value(), maxAgeDate, systemID, classID, rating, mountID, shipID, self.allegiancesComboBox.currentIndex(), self.governmentsComboBox.currentIndex()) for outfitting in outfittings: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), outfitting["System"]) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not outfitting["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("StarDist")), outfitting["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Station")), outfitting["Station"]) model.setData(model.index(0, self.headerList.index("Distance")), outfitting["dist"]) model.item(0, self.headerList.index("Distance")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Name")), outfitting["modulname"]) model.setData(model.index(0, self.headerList.index("Class")), outfitting["Class"]) model.item(0, self.headerList.index("Class")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("Rating")), outfitting["Rating"]) model.item(0, self.headerList.index("Rating")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("Mount")), outfitting["mount"]) model.setData(model.index(0, self.headerList.index("Category")), outfitting["category"]) if outfitting["guidance"]: model.setData( model.index(0, self.headerList.index("Guidance")), outfitting["guidance"]) if outfitting["ShipID"]: model.setData(model.index(0, self.headerList.index("Ship")), outfitting["Name"]) model.setData( model.index(0, self.headerList.index("Age")), guitools.convertDateimeToAgeStr(outfitting["modifydate"])) model.item(0, self.headerList.index("Age")).setTextAlignment( QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig('option_of.header.sectionPos') if sectionPos: sectionPosList = sectionPos.strip().split(',') for i, pos in enumerate(sectionPosList): self.listView.header().moveSection( self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn(self.headerList.index("Distance"), QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def searchItem(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = [ "System", "Permit", "StarDist", "Station", "Distance", "Item", "Stock", "Buy", "Demand", "Sell", "Age", "" ] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) if not systemID: return if self.onlyLocation.isChecked(): distance = 0 else: distance = self.searchRangeSpinBox.value() maxAgeDate = datetime.utcnow() - timedelta( days=self.maxAgeSpinBox.value()) itemID = self.itemList[self.itemComboBox.currentIndex()] items = self.mydb.getPricesInDistance( systemID, distance, self.maxStartDistSpinBox.value(), maxAgeDate, itemID, self.onlyLpadsize.isChecked(), self.buySellComboBox.currentIndex(), self.allegiancesComboBox.currentIndex(), self.governmentsComboBox.currentIndex()) for item in items: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), item["System"]) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not item["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment( QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("StarDist")), item["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Station")), item["Station"]) if "dist" in item.keys(): model.setData( model.index(0, self.headerList.index("Distance")), item["dist"]) else: model.setData( model.index(0, self.headerList.index("Distance")), 0) model.item(0, self.headerList.index("Distance")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Item")), item["name"]) model.setData(model.index(0, self.headerList.index("Stock")), item["Stock"]) model.item(0, self.headerList.index("Stock")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Buy")), item["StationSell"]) model.item(0, self.headerList.index("Buy")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Demand")), item["Dammand"]) model.item(0, self.headerList.index("Demand")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Sell")), item["StationBuy"]) model.item(0, self.headerList.index("Sell")).setTextAlignment( QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Age")), guitools.convertDateimeToAgeStr(item["age"])) model.item(0, self.headerList.index("Age")).setTextAlignment( QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig('option_cf.header.sectionPos') if sectionPos: sectionPosList = sectionPos.strip().split(',') for i, pos in enumerate(sectionPosList): self.listView.header().moveSection( self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn( self.headerList.index("Distance"), PySide.QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)
def searchItem(self): firstrun = False if not self.listView.header().count(): firstrun = True self.headerList = ["System", "Permit", "StarDist", "Station", "Distance", "Item", "Stock", "Buy", "Demand", "Sell", "Age", ""] model = QtGui.QStandardItemModel(0, len(self.headerList), self) for x, column in enumerate(self.headerList): model.setHeaderData(x, QtCore.Qt.Horizontal, column) location = self.locationlineEdit.text() systemID = self.mydb.getSystemIDbyName(location) if not systemID: return if self.onlyLocation.isChecked(): distance = 0 else: distance = self.searchRangeSpinBox.value() maxAgeDate = datetime.utcnow() - timedelta(days=self.maxAgeSpinBox.value()) itemID = self.itemList[ self.itemComboBox.currentIndex() ] items = self.mydb.getPricesInDistance(systemID, distance, self.maxStartDistSpinBox.value(), maxAgeDate, itemID, self.onlyLpadsize.isChecked(), self.buySellComboBox.currentIndex(), self.allegiancesComboBox.currentIndex(), self.governmentsComboBox.currentIndex()) for item in items: model.insertRow(0) model.setData(model.index(0, self.headerList.index("System")), item["System"]) model.setData(model.index(0, self.headerList.index("Permit")), "No" if not item["permit"] else "Yes") model.item(0, self.headerList.index("Permit")).setTextAlignment(QtCore.Qt.AlignCenter) model.setData(model.index(0, self.headerList.index("StarDist")), item["StarDist"]) model.item(0, self.headerList.index("StarDist")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Station")), item["Station"]) if "dist" in item.keys(): model.setData(model.index(0, self.headerList.index("Distance")), item["dist"]) else: model.setData(model.index(0, self.headerList.index("Distance")), 0) model.item(0, self.headerList.index("Distance")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Item")), item["name"]) model.setData(model.index(0, self.headerList.index("Stock")), item["Stock"]) model.item(0, self.headerList.index("Stock")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Buy")), item["StationSell"]) model.item(0, self.headerList.index("Buy")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Demand")), item["Dammand"]) model.item(0, self.headerList.index("Demand")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Sell")), item["StationBuy"]) model.item(0, self.headerList.index("Sell")).setTextAlignment(QtCore.Qt.AlignRight) model.setData(model.index(0, self.headerList.index("Age")), guitools.convertDateimeToAgeStr(item["age"])) model.item(0, self.headerList.index("Age")).setTextAlignment(QtCore.Qt.AlignCenter) self.listView.setModel(model) if firstrun: sectionPos = self.mydb.getConfig('option_cf.header.sectionPos') if sectionPos: sectionPosList = sectionPos.strip().split(',') for i, pos in enumerate(sectionPosList): self.listView.header().moveSection(self.listView.header().visualIndex(int(pos)), i) self.listView.sortByColumn(self.headerList.index("Distance"), PySide.QtCore.Qt.SortOrder.AscendingOrder) for i in range(0, len(self.headerList)): self.listView.resizeColumnToContents(i)