本文整理汇总了Python中scheduler.Scheduler.process方法的典型用法代码示例。如果您正苦于以下问题:Python Scheduler.process方法的具体用法?Python Scheduler.process怎么用?Python Scheduler.process使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scheduler.Scheduler
的用法示例。
在下文中一共展示了Scheduler.process方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: MainWindow
# 需要导入模块: from scheduler import Scheduler [as 别名]
# 或者: from scheduler.Scheduler import process [as 别名]
class MainWindow(QWidget):
"""The main window of the program"""
def __init__(self, testing=False):
# Initialize object using ui_mainwindow
super(MainWindow, self).__init__()
self.window = QMainWindow()
self.ui = Ui_MainWindow()
self.ui.setupUi(self.window)
self.connectSlots()
self.testing = testing
self.scheduler = Scheduler()
def connectSlots(self):
"""connect the various ui signals to their slots"""
self.ui.addSoloParticipantBtn.clicked.connect(self.addSoloParticipantBtn_clicked)
self.ui.addGroupParticipantBtn.clicked.connect(self.addGroupParticipantBtn_clicked)
self.ui.addTeacherBtn.clicked.connect(self.addTeacherBtn_clicked)
self.ui.addEntryBtn.clicked.connect(self.addEntryBtn_clicked)
self.ui.makeScheduleBtn.clicked.connect(self.makeScheduleBtn_clicked)
self.ui.loadScheduleBtn.clicked.connect(self.loadScheduleBtn_clicked)
self.ui.editParticipantBtn.clicked.connect(self.editParticipantBtn_clicked)
self.ui.editTeacherBtn.clicked.connect(self.editTeacherBtn_clicked)
self.ui.editEntryBtn.clicked.connect(self.editEntryBtn_clicked)
self.ui.deleteParticipantBtn.clicked.connect(self.deleteParticipantBtn_clicked)
self.ui.deleteTeacherBtn.clicked.connect(self.deleteTeacherBtn_clicked)
self.ui.deleteEntryBtn.clicked.connect(self.deleteEntryBtn_clicked)
self.ui.backupDbBtn.clicked.connect(self.backupDbBtn_clicked)
self.ui.restoreDbBtn.clicked.connect(self.restoreDbBtn_clicked)
self.ui.createNewDbBtn.clicked.connect(self.createNewDbBtn_clicked)
self.ui.entriesByDisciplineBtn.clicked.connect(self.entriesByDisciplineBtn_clicked)
self.ui.entriesByTeacherBtn.clicked.connect(self.entriesByTeacherBtn_clicked)
# self.ui.entriesByGroupBtn.clicked.connect(self.entriesByGroupBtn_clicked)
self.ui.dumpBtn.clicked.connect(self.dumpBtn_clicked)
###### Slots ######
def addSoloParticipantBtn_clicked(self):
dialog = AddSoloParticipantDialog(testing=self.testing)
# For Modal dialog
dialog.exec_()
def addGroupParticipantBtn_clicked(self):
dialog = AddGroupParticipantDialog(testing=self.testing)
# For Modal dialog
dialog.exec_()
def addTeacherBtn_clicked(self):
dialog = AddTeacherDialog(testing=self.testing)
# For Modal dialog
dialog.exec_()
def addEntryBtn_clicked(self):
dialog = AddEntryDialog(testing=self.testing)
# For Modal dialog
dialog.exec_()
def makeScheduleBtn_clicked(self):
### Test Code ###
# s1Start = datetime.datetime(2014, 4, 7, 9)
# s1End = datetime.datetime(2014, 4, 7, 12)
# s2Start = datetime.datetime(2014, 4, 7, 13)
# s2End = datetime.datetime(2014, 4, 7, 17)
# s3Start = datetime.datetime(2014, 4, 7, 18)
# s3End = datetime.datetime(2014, 4, 7, 21)
# sessionDatetimes = [(s1Start, s1End), (s2Start, s2End), (s3Start, s3End)]
####
scheduleOptionsDialog = ScheduleOptionsDialog()
result = scheduleOptionsDialog.exec_()
if result == True:
entries = dbInteractionInstance.getAllEntriesInDiscipline(settingsInteractionInstance.loadDiscipline())
solution = self.scheduler.process(entries, settingsInteractionInstance.loadSessionDatetimes())
print solution
if solution is None:
QMessageBox.warning(self, 'No schedule found', 'No schedule was found for the specified parameters. Try increasing tolerance for overtime or making the sessions longer.',
QMessageBox.Ok)
return
dialog = ScheduleDialog(schedule=solution)
result = dialog.exec_()
if result == True:
pass
def loadScheduleBtn_clicked(self):
"""Loads a schedule from file"""
schedule = Schedule()
filename = QFileDialog.getOpenFileName(self, "Load Schedule", exportsPath, "Schedule Files (*.sched)")
if filename is not None and filename != "":
try:
schedule.load(filename)
dialog = ScheduleDialog(schedule=schedule)
result = dialog.exec_()
if result == True:
pass
except Exception:
QMessageBox.critical(self, "Error", "Failed to load schedule.", QMessageBox.Ok)
def editParticipantBtn_clicked(self):
"""Opens chooseParticipantDialog then dialog for editing"""
dialog = ChooseParticipantDialog()
# For Modal dialog
result = dialog.exec_()
#.........这里部分代码省略.........
示例2: MainWindow
# 需要导入模块: from scheduler import Scheduler [as 别名]
# 或者: from scheduler.Scheduler import process [as 别名]
#.........这里部分代码省略.........
QMessageBox.critical(self, 'No Row Selected', 'Please select a row.', QMessageBox.Ok)
###### Slots ######
def addParticipantBtn_clicked(self):
dialog = AddParticipantDialog(testing=self.testing)
# For Modal dialog
dialog.exec_()
def addTeacherBtn_clicked(self):
dialog = AddTeacherDialog(testing=self.testing)
# For Modal dialog
dialog.exec_()
def addEntryBtn_clicked(self):
dialog = AddEntryDialog(testing=self.testing)
# For Modal dialog
dialog.exec_()
def runSchedulerAction_triggered(self):
### Test Code ###
# s1Start = datetime.datetime(2014, 4, 7, 9)
# s1End = datetime.datetime(2014, 4, 7, 12)
# s2Start = datetime.datetime(2014, 4, 7, 13)
# s2End = datetime.datetime(2014, 4, 7, 17)
# s3Start = datetime.datetime(2014, 4, 7, 18)
# s3End = datetime.datetime(2014, 4, 7, 21)
# sessionDatetimes = [(s1Start, s1End), (s2Start, s2End), (s3Start, s3End)]
####
scheduleOptionsDialog = ScheduleOptionsDialog()
result = scheduleOptionsDialog.exec_()
if result == True:
entries = dbInteractionInstance.getAllEntriesInDiscipline(settingsInteractionInstance.loadDiscipline())
solution = self.scheduler.process(entries, settingsInteractionInstance.loadSessionDatetimes())
print solution
if solution is None:
QMessageBox.warning(self, 'No schedule found', 'No schedule was found for the specified parameters. Try increasing tolerance for overtime or making the sessions longer.',
QMessageBox.Ok)
return
dialog = ScheduleDialog(schedule=solution)
result = dialog.exec_()
if result == True:
pass
def loadScheduleAction_triggered(self):
"""Loads a schedule from file"""
schedule = Schedule()
filename = QFileDialog.getOpenFileName(self, "Load Schedule", exportsPath, "Schedule Files (*.sched)")
if filename is not None and filename != "":
try:
schedule.load(filename)
dialog = ScheduleDialog(schedule=schedule)
result = dialog.exec_()
if result == True:
pass
except Exception:
QMessageBox.critical(self, "Error", "Failed to load schedule.", QMessageBox.Ok)
def editParticipantBtn_clicked(self):
"""Opens the dialog for editing"""
participantId = self.getSelectedId(model=dbInteractionInstance.participantModel, view=self.ui.participantTableView)
if participantId:
dialog = EditParticipantDialog(participantId=participantId)
# For Modal dialog
dialog.exec_()