Menu

#7 add virtual category wrapper for base64 encoder

2.9999
open
nobody
None
2016-09-14
2014-07-28
No

В продолжение импортированного бага #45, в котором напоминается, что base64 является не единственной утилитой для представления файла в base64.

Я достаточно хорошо разбираюсь в том, как установить любую программу в любой ОС и уже сообщил, какие программы в дистрибутиве Debian доступны для кодирования в base64:
1. uuenview -b (из пакета uudeview)
2. uuencode -m (из пакета sharutils)

Для таких случаев (когда некоторая необходимая функция может обеспечиваться несколькими различными, часто несовместимыми и взаимоисключающими утилитами) придумана категория virtual.

Делать исключение для Демьяна полагаю категорически неправильным.
Достаточно вынести задание команды кодирования base64 в отдельный пункт настроек.
И при установке/первом запуске расширения проверять это значение:
Если в системе есть утилита base64 (в моём случае идёт в составе пакета sys-apps/coreutils, которого, по понятным причинам, отсутствовать в системе не должно) — используем её, если её нет — проверяем uuencode, далее — uuenview.
А там, глядишь, и для самой распространённой ОС решение найдётся…

Если проверка не нашла ничего — отмечаем соответствующие функции (экспорт графики) как недоступные.
Про правильное поведение для данного случая навскидку не скажу, думать надо.

Discussion

  • Starikov Sergey

    Starikov Sergey - 2014-07-29

    Наверное сюда же следует отнесит импортированный bug #24 про неработоспособность экспорта графики при отключённом cmd.exe.

     
  • Starikov Sergey

    Starikov Sergey - 2016-09-14

    Наиболее универсальным решением задачи является openssl base64.

     

Log in to post a comment.