LINUX.ORG.RU

либы для записи дисков


0

0

Вчера долго думал, и не могу понять, почему нельзя создать одну либу для записи cd/dvd, хотябы из того же cdrecord и использовать во всех приложениях, которые пишут диски, а не парсить вывод cdrecord. Я не понимаю, разве это хорошо - парсить вывод каких то приложений (скрипты не в счет)???


Это скорее для talks вопрос.

А вот, например, почти все среды разработки парсят вывод компиляторов... и никто, вроде, не жалуется.

anonymous
()

консольная программа:
парсинг пишется без особого труда на любом языке
юзабельна сама по себе
можно писать щелл-скрипты
передача\получение параметров ограничены

библиотека:
для языка надо писать биндинг, сделать это может быть сложнее, чем парсинг
сама по себе не юзабельна
шелл-скрипты писать нельзя
передача\получение параметров произвольной сложности тривиальны.

Примерно так я это вижу. Первый подход в удобнее, когда надо сделать вещь типа "записать CD диск". Второй случай удобнее, когда например надо прочитать заголовок png файла, сделать что-нибудь, прочитать его содержимое, одновременно преобразуя его.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

да, вот только почему-то программы, которые таким образом парсят вывод других програм в большинстве случаев неюзабельны... они имеют большие ограничения, и реализовано это извращенски... да и как поведут себя программы, если cdrecord захочет поменять к примеру флаги, или вывод результата???

k3b я курил, судя по всему он реализует k3blib которая и занимается записью дисков, однако она зависит от kde и qt - она не юзабельна.

chicane
() автор топика
Ответ на: комментарий от chicane

кстати все писалки под гуй что омне попадались, не могли отменить операцию (очистка, запись /etc), и мне сдается что это результат взаимодействия с cdrecord...

chicane
() автор топика
Ответ на: комментарий от chicane

> да, вот только почему-то программы, которые таким образом парсят вывод других програм в большинстве случаев неюзабельны... они имеют большие ограничения, и реализовано это извращенски..

Честно говоря из подобных программ юзал только qtparted, меня вполне устроил. Кстати говоря на wget-е завязано огромное число программ, по-моему даже дебиановский apt через него работает, мне это никогда не доставляло проблем.

> да и как поведут себя программы, если cdrecord захочет поменять к примеру флаги, или вывод результата???

Очевидно, поведут себя неправильно. Если есть такая опасность - можно при запуске проверять версию cdrecord-а. Но вообще говоря это вряд ли.

> кстати все писалки под гуй что омне попадались, не могли отменить операцию (очистка, запись /etc), и мне сдается что это результат взаимодействия с cdrecord...

Ну, если cdrecord нормально завершается при SIGINT например, то проблем не должно быть.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

в принципе сегодня задумался над этой проблемой и все решил для себя, ведь действительно - фронтенды в большинстве случаев выступают в виде "графических скриптов"... видимо мне попался плохой фронтенд, и теперь я стал с опаской на них смотреть )

chicane
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.