Баг с утилитой cl-desktop


При вызове справки к утилите cl-desktop обнаружил баг:

  1. В справке выводится cl-console
  2. Слово usage переносится странным образом всегда одинаково, сколько ни расширяй окно терминала.

Дополнение. Такое поведение в терминале Putty распространяется и для других утилит CL. В терминале внутри CL такой проблемы нет.

Но при этом другие пакеты справку выводят корректно, без интересных переносов.

При вызове от пользователя cl-desktop как команда это по сути своей ссылка на
cl-console --method desktop
cl-console при этом будит более серьезную утилиту, с которой общается по принципу клиент-сервер, и просит вызвать cl-desktop с правами админа. Хелп, который вы видите, показан именно для метода desktop утилиты cl-console, так что тут все верно.

С переносом: cl-console хелп для методов берет как раз от утилиты-сервера, и перед выводом вызывает

sys.stdout.write("\b")
sys.stdout.flush()

Это было судя по всему сделано для удаления спиннера. В терминале линукса это проходит нормально, но видимо на putty тут возникает проблема, что \b может вызвать перенос на строчку назад. Возможно достаточно будет поставить вместо этого \r, но не ясно, сломает ли это вывод у кого то еще.

Апдейт - в новой версии утилит (3.7.2.14-r1) баг с переносами в putty исправили.

1 Like