Traceback (most recent call last):
File "./.venv/bin/rmqr", line 8, in <module>
sys.exit(main())
^^^^^^
File "./.venv/lib/python3.12/site-packages/rmqrcode/console.py", line 57, in main
qr = _make_qr(args.DATA, ecc=ecc, version=args.version, fit_strategy=fit_strategy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "./.venv/lib/python3.12/site-packages/rmqrcode/console.py", line 22, in _make_qr
qr = rMQR.fit(data, ecc=ecc, fit_strategy=fit_strategy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "./.venv/lib/python3.12/site-packages/rmqrcode/rmqrcode.py", line 73, in fit
return rMQROptimizer.compute(data, ecc, fit_strategy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "./.venv/lib/python3.12/site-packages/rmqrcode/rmqrcode.py", line 500, in compute
qr.make()
File "./.venv/lib/python3.12/site-packages/rmqrcode/rmqrcode.py", line 147, in make
encoded_data = self._encode_data()
^^^^^^^^^^^^^^^^^^^
File "./.venv/lib/python3.12/site-packages/rmqrcode/rmqrcode.py", line 182, in _encode_data
res += segment["encoder_class"].encode(segment["data"], character_count_indicator_length)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "./.venv/lib/python3.12/site-packages/rmqrcode/encoder/encoder_base.py", line 40, in encode
res += cls._encoded_bits(data)
^^^^^^^^^^^^^^^^^^^^^^^
File "./.venv/lib/python3.12/site-packages/rmqrcode/encoder/alphanumeric_encoder.py", line 68, in _encoded_bits
value = cls.CHARACTER_MAP[s[0]]
~~~~~~~~~~~~~~~~~^^^^^^
KeyError: '\n'
Hello,
I tried to get a multi-line rMQR like this:
via console:
This breaks things:
Details
However,
works. I also thought that numbers as last pre-
\ncharacter lead to a different error, but it seems to happen with multiple combinations (FOO\nbBaralso does not work) and giving reproducable examples is quite difficult. In any case, it is easy to experience with using pipes, even/odd counts of characters (e.g.FOOOvsFOO), etc.The whole (mis)behaviour is also given when using
rmqr.fit("FOO\nBAR" [...])inside a script.I tried to debug this myself, but the code seems to be a bit above my skill level :-/ Please let me know if I can help!