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

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



"Артём Н." <artiom14@yandex.ru> writes:

> Что хочу:
> 1. Нормальное определение типа архива.
> Как заметил Иван Лох:
> "Если на клетке слона написано буйвол... file как-то кошернее и
> надежнее"
>
> Но есть деталь: если архив составной (tar.gz, например), то вероятно
> нельзя определить, что внутри, не зная названия.
> Думаю, что file будет основным, а затем должно происходить уточнение
> по имени файла.  Кто посоветует правильней?

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

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

А не легче будет скрипт подобного рода просто ручками поправить?
Вы главное сделайте так, чтобы черт ногу не сломил при этом. Заведите,
что ли, ассоциативные массивы соответствия типа файла команде.

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

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

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

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

Не того уровня проект, чтобы масштабную стройку городить. Да и
скриптик-то пока не торт.

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

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

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

Attachment: pgpnSIpU4ZzZm.pgp
Description: PGP signature


Reply to: