[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Сценарий для распаковки



On 15.10.2013 00:18, Dmitrii Kashin wrote:
"Артём Н." <artiom14@yandex.ru> writes:

Что хочу:
1. Нормальное определение типа архива.
Как заметил Иван Лох:
"Если на клетке слона написано буйвол... file как-то кошернее и
надежнее"

Но есть деталь: если архив составной (tar.gz, например), то вероятно
нельзя определить, что внутри, не зная названия.
Думаю, что file будет основным, а затем должно происходить уточнение
по имени файла.  Кто посоветует правильней?

Рекурсия спасет отца русской демократии? Проверяйте, не являются ли
декомпрессованные файлы архивами. И если являются - распаковывайте их.

Возможно. Но придётся создавать временный файл... Tar же, насколько я понимаю, работает без этого. :-|

2. Минус всех сценариев - низкая модульность и настраиваемость.
Хочу сделать плагины.
Нужно ли?

А не легче будет скрипт подобного рода просто ручками поправить?
Не легче.

Вы главное сделайте так, чтобы черт ногу не сломил при этом. Заведите,
что ли, ассоциативные массивы соответствия типа файла команде.
Да, ассоциативные массивы подошли бы. Но тогда точно не Bash (да, я знаю, что они там есть, а если не нравится, то возможно эмулировать, но не стоит).

3. Наверное, в связи с этим, стоит переписать сценарий на что-то
более вразумительное, чем shell?

Чем он Вам не кажется вразумительным?
Тем, что он не тот язык, на котором стоит писать что-то

Ну, можете Perl попробовать. У него порог вхождения несколько ниже.

"Смешно". :-|
Вообще-то, применительно к Debian более актуален Python.
Порог вхождения, возможно действительно ниже.

4. Очень бы хотелось получить архивы экзотических форматов (типа ACE),
если кто-то может сделать с файликом test.txt внутри
и содержимым "test archive packer".

Надо делом заниматься, а не задачи придумывать. Напишите то, что нужно
лично Вам, и выкладывайте в сеть. Если скрипт будет востребован - его
допишут добровольцы.

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

Если не будет - Вы хотя бы время не потратите.
Ну да, с этим согласен.

Да и скриптик-то пока не торт.
К.О.:
"Артём Н." <artiom14@yandex.ru> writes:
"Это черновой вариант (надеюсь сделать скрипт к следующей неделе)"

5. Чтобы ещё полезного добавить?

Добавить можно было бы проверку на существование утилиты необходимой
для распаковки файла.

Да, с этим согласен. Это я сделаю.
Также думаю, что стоит добавить вывод имени пакета, содержащего утилиту.

Также было бы неплохо учитывать, что некоторые версии утилит обладают
разными возможностями. Например есть unrar-nonfree и unrar-free, но обе
обзываются как unrar, и используя имя unrar Вы можете нарваться на
неприятности.

Учту. Спасибо.


Reply to: