def output(sudoku: "sudoku.NativeSudoku", printer_name: str, separator: str, output: "io.BufferWriter", args: "Namespace"): """Outputs the sudoku as printer wants it""" printer = Register.get_printer(printer_name) if printer is None: raise UIError("Invalid printer name {}".format(printer_name)) printer(sudoku)
def solve( sudoku: "sudoku.NativeSudoku", solver_name: str, args: "Namespace") -> "sudoku.NativeSudoku|[sudoku.NativeSudoku, ...]": """Solves NativeSudoku with solver determined by solver""" solver = Register.get_solver(solver_name) if solver is None: raise UIError("Invalid solver name {}".format(solver_name)) try: return solver(sudoku) except SolvingError as error: print("Solver returned error '{}'".format(error)) if args.verbosity: print("Incomplete sudoku: ", end="") Register.get_printer('list')(error.sudoku) if args.exceptions: raise
def solve( sudoku:"sudoku.NativeSudoku", solver_name:str, args:"Namespace" ) -> "sudoku.NativeSudoku|[sudoku.NativeSudoku, ...]": """Solves NativeSudoku with solver determined by solver""" solver = Register.get_solver(solver_name) if solver is None: raise UIError("Invalid solver name {}".format(solver_name)) try: return solver(sudoku) except SolvingError as error: print("Solver returned error '{}'".format(error)) if args.verbosity: print("Incomplete sudoku: ", end="") Register.get_printer('list')(error.sudoku) if args.exceptions: raise
def output( sudoku:"sudoku.NativeSudoku", printer_name:str, separator:str, output:"io.BufferWriter", args:"Namespace" ): """Outputs the sudoku as printer wants it""" printer = Register.get_printer(printer_name) if printer is None: raise UIError("Invalid printer name {}".format(printer_name)) printer(sudoku)