# layman -i mv Traceback (most recent call last): File "/usr/lib/python-exec/python2.7/layman", line 45, in <module> main() File "/usr/lib64/python2.7/site-packages/layman/cli.py", line 197, in __call__ result += getattr(self, action[1])() File "/usr/lib64/python2.7/site-packages/layman/cli.py", line 355, in Info list_printer.print_shortdict(info, complain=_complain) File "/usr/lib64/python2.7/site-packages/layman/cli.py", line 63, in print_shortdict self.print_overlay(summary, supported, official, complain) File "/usr/lib64/python2.7/site-packages/layman/cli.py", line 95, in print_overlay self.output.warn(summary, 1) File "/usr/lib64/python2.7/site-packages/layman/output.py", line 203, in warn for i in warn.split('\n'): UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 192: ordinal not in range(128)
Can I see which locale you have it set to? It works for me when it's utf-8 but I want to try to reproduce so I can tackle it.
Never mind that, I can reproduce.
Created attachment 390956 [details] Script to nail it down (In reply to Devan Franchini from comment #1) > Can I see which locale you have it set to? It works for me when it's utf-8 > but I want to try to reproduce so I can tackle it. # bash ~/Desktop/test_layman_locale_crash.sh Testing LC_ADDRESS... Testing LC_COLLATE... Testing LC_CTYPE... LC_CTYPE=C fixed it, so LC_CTYPE="en_US.UTF-8" is at fault Testing LC_IDENTIFICATION... Testing LC_MEASUREMENT... Testing LC_MESSAGES... Testing LC_MONETARY... Testing LC_NAME... Testing LC_NUMERIC... Testing LC_PAPER... Testing LC_TELEPHONE... Testing LC_TIME...
I figured out what the issue was and I was able to successfully fix it by making layman indiscriminately encode all messages from layman's output class. It's in layman's master branch, and you should expect to see a new layman release somewhat soonish. Until then feel free to test out the 9999 ebuild.
I can confirm that the master branch does not crash on # PYTHONPATH=. ./bin/layman -i mv [..] Good work!