def loadPrintJobsByQuery(self, tableQuery): offset = int(tableQuery["from"]) limit = int(tableQuery["to"]) sortColumn = tableQuery["sortColumn"] sortOrder = tableQuery["sortOrder"] filterName = tableQuery["filterName"] myQuery = PrintJobModel.select().offset(offset).limit(limit) if (filterName == "onlySuccess"): myQuery = myQuery.where( PrintJobModel.printStatusResult == "success") elif (filterName == "onlyFailed"): myQuery = myQuery.where( PrintJobModel.printStatusResult != "success") if ("printStartDateTime" == sortColumn): if ("desc" == sortOrder): myQuery = myQuery.order_by( PrintJobModel.printStartDateTime.desc()) else: myQuery = myQuery.order_by(PrintJobModel.printStartDateTime) if ("fileName" == sortColumn): if ("desc" == sortOrder): myQuery = myQuery.order_by(PrintJobModel.fileName.desc()) else: myQuery = myQuery.order_by(PrintJobModel.fileName) return myQuery
def loadSelectedPrintJobs(self, selectedDatabaseIds): selectedDatabaseIdsSplitted = selectedDatabaseIds.split(',') databaseArray = [] for dbId in selectedDatabaseIdsSplitted: databaseArray.append(dbId) return PrintJobModel.select().where(PrintJobModel.databaseId << databaseArray).order_by(PrintJobModel.printStartDateTime.desc())
def countPrintJobsByQuery(self, tableQuery): filterName = tableQuery["filterName"] myQuery = PrintJobModel.select() if (filterName == "onlySuccess"): myQuery = myQuery.where(PrintJobModel.printStatusResult == "success") elif (filterName == "onlyFailed"): myQuery = myQuery.where(PrintJobModel.printStatusResult != "success") return myQuery.count()
def countPrintJobsByQuery(self, tableQuery): # filterName = tableQuery["filterName"] myQuery = PrintJobModel.select() myQuery = self._addTableQueryToSelect(myQuery, tableQuery) # self._addTableQueryToSelect(myQuery, tableQuery) # if (filterName == "onlySuccess"): # myQuery = myQuery.where(PrintJobModel.printStatusResult == "success") # elif (filterName == "onlyFailed"): # myQuery = myQuery.where(PrintJobModel.printStatusResult != "success") return myQuery.count()
def _test_something(self): db = peewee.SqliteDatabase(self.databaselocation+'/printJobHistory.db') singlePrintJob = PrintJobModel.select().join(FilamentModel).where(PrintJobModel.databaseId == 109).get() print(singlePrintJob) print(singlePrintJob.fileName) singlePrintJob.printFila() # for fila in singlePrintJob.filaments: # print(fila) newFilaModel = FilamentModel() newFilaModel.material = "MeinMaterial" newFilaModel = FilamentModel.create(printJob = singlePrintJob) # singlePrintJob.filaments.append(newFilaModel) # singlePrintJob.save() pass
def loadPrintJobsByQuery(self, tableQuery): offset = int(tableQuery["from"]) limit = int(tableQuery["to"]) # sortColumn = tableQuery["sortColumn"] # sortOrder = tableQuery["sortOrder"] # filterName = tableQuery["filterName"] # dont use join "Kartesischs-Produkt" myQuery = PrintJobModel.select().join(FilamentModel).offset(offset).limit(limit) myQuery = PrintJobModel.select().offset(offset).limit(limit) myQuery = self._addTableQueryToSelect(myQuery, tableQuery) # if (filterName == "onlySuccess"): # myQuery = myQuery.where(PrintJobModel.printStatusResult == "success") # elif (filterName == "onlyFailed"): # myQuery = myQuery.where(PrintJobModel.printStatusResult != "success") # # if ("printStartDateTime" == sortColumn): # if ("desc" == sortOrder): # myQuery = myQuery.order_by(PrintJobModel.printStartDateTime.desc()) # else: # myQuery = myQuery.order_by(PrintJobModel.printStartDateTime) # if ("fileName" == sortColumn): # if ("desc" == sortOrder): # myQuery = myQuery.order_by(PrintJobModel.fileName.desc()) # else: # myQuery = myQuery.order_by(PrintJobModel.fileName) # if ("startDate" in tableQuery): # startDate = tableQuery["startDate"] # endDate = tableQuery["endDate"] # if (len(startDate) > 0 and len(endDate) > 0): # # EndDay + 1 # startDateTime = datetime.datetime.strptime(startDate, "%d.%m.%Y") # endDateTime = datetime.datetime.strptime(endDate, "%d.%m.%Y") + datetime.timedelta(days=1) # # # myQuery = myQuery.where( (( PrintJobModel.printStartDateTime == startDate) | ( PrintJobModel.printStartDateTime > startDate)) # # & # # ((PrintJobModel.printStartDateTime == endDate) | ( PrintJobModel.printStartDateTime < startDate)) ) # myQuery = myQuery.where( ( ( PrintJobModel.printStartDateTime > startDateTime) & ( PrintJobModel.printStartDateTime < endDateTime)) # ) return myQuery
def loadAllPrintJobs(self): return PrintJobModel.select().order_by( PrintJobModel.printStartDateTime.desc())