import argparse from bemani.common import CardCipher, CardCipherException def main() -> None: parser = argparse.ArgumentParser(description="A utility to convert between card IDs and back-of-card characters.") parser.add_argument( "number", help="card ID or back-of-card characters to convert.", type=str, ) args = parser.parse_args() try: print(CardCipher.decode(args.number)) except CardCipherException: try: back = CardCipher.encode(args.number) print(" ".join([ back[i:(i + 4)] for i in range(0, len(back), 4) ])) except CardCipherException: print('Bad card ID or back-of-card characters!') if __name__ == '__main__': main()