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()