def callback(): try: dialog.validate() group_spec = TaskGroupSpec.from_spec_file(dialog.filename) for spec in group_spec.iter_specs(dialog.start_repeat, dialog.num_repeats): task = ExternalTask.from_task_spec(spec, niceness=dialog.niceness) self.taskpile.enqueue(task) self.update() except Exception as err: msg = "Error: " if isinstance(err, KeyError): msg += "Undefined replacement key {}".format(str(err)) else: msg += str(err) dialog.error = msg dialog.show()