Page 106 of 150

arclite — работа с архивами на основе 7-Zip

Posted: Sun 15 Aug, 2010 22:26
by 2useven10
Тема для обсуждения arclite — нового альтернативного плагина архиватора 7-Zip для Far.
("Старый" плагин 7zipalt обсуждается в прежней теме.)

Внимание:
Начиная с билда 1762 плагин входит в комплект поставки юникодной версии FAR'а, заменяя собой Multiarc.
В arclite не реализованы некоторые функции, присутствовавшие в Multiarc, в частности упаковка в RAR.

Обсуждение: arclite вместо MultiArc в комплекте Far 2











Кодек LZHAM

arclite — работа с архивами на основе 7-Zip

Posted: Sun 16 Apr, 2017 20:19
by Dennis_Moore

Latest post of the previous page:

О встроенном SF я знаю (он позиционирует внутри архива, что не всегда то что нужно), но преимущество SF+ в поддержке Reg, FTP, Net, PPC плагинов.

arclite — работа с архивами на основе 7-Zip

Posted: Sun 16 Apr, 2017 21:12
by 2useven10
Dennis_Moore, Начинайте с головы (SameFolder+). Даже если окажется, что проблема в arclite, так будет быстрее.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 20 May, 2017 21:27
by Dennis_Moore
Можно ли сделать отключаемым поведение при котором после создания архива курсор прыгает на него, а не остается на упаковываемом объекте ?

Upd. Макросом выходит, но опция была бы не лишней.

arclite — работа с архивами на основе 7-Zip

Posted: Fri 26 May, 2017 18:30
by Abs
Arclite с форматным плагином от 7zip eDecoder распознаёт XXE-файл с левым расширением как UUE-кодировку (со штатным расширением .xxe всё распознаётся корректно). Сам 7zip таких проблем не имеет - и XXE, и UUE с левым расширением с eDecoder распознаются корректно. Проблема в eDecoder или в Arclite?

arclite — работа с архивами на основе 7-Zip

Posted: Fri 26 May, 2017 18:50
by 2useven10
Abs, примеры файлов, настройки arclite ...

arclite — работа с архивами на основе 7-Zip

Posted: Fri 26 May, 2017 19:10
by Abs
Настройки умолчательные, просто eDecoder.32.dll переименован в eDecoder.32.format и закинут в подпапку "Formats" папки "ArcLite". Файлы прилагаю. 7zip с eDecoder корректно распознаёт оба, Arclite - только test_1.zip, который на самом деле UUE. Но если формат указать явно, "arc:-t:xxe test_2.zip", понимает и второй.

arclite — работа с архивами на основе 7-Zip

Posted: Fri 26 May, 2017 21:13
by 2useven10
Похоже eDecoder для обоих форматов признаёт файлы как 'свои'.
arclite в этом случае берёт первый (uue) если явно не выбрать xxe.
Как 7z удаётся выбрать нужный - надо смотреть, может быть он в такой ситуации пробует оба варианта,
или при неуспехе первого пробует второй...

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 15:33
by 2useven10
наворачивать логику с перебором форматов из-за этого особого желания нет.
тем более что UUE от XXE вроде бы по набору символов отличить не сложно.
попросите автора eDecoder сделать более строгую проверку для ф-й IsArc() UUE и XXE.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 15:56
by Dec
Так уж получилось, что я являюсь автором eDecoder. И как бы IsArc реализован достаточно строго как для UUE, так и для XXE. Собственно, благодаря строгости IsArc 7zip корректно определяет тип файла.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 16:20
by 2useven10
Ок, я посмотрю, почему arclite детектит оба формата на файлах.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 18:06
by 2useven10
Ситуация обратная: detect вообще ничего не находит, поэтому при открытии перебираются все форматы подряд - uue первый.
Ничего не находится, потому что uue (xxe не смотрел, но видимо тоже) отдаёт в get_prop(NArchive::NHandlerPropID::kSignature)
сигнатуру начинающуюся с "begin " диной 12 байт.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 18:12
by Dec
А IsArc не участвует в анализе? Ведь для этого он в принципе и предназначен.
2useven10 wrote:длиной 12 байт
А вот это мой косяк, поправлю.

Исправил.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 18:33
by 2useven10
Участвует, но после совпадения сигнатуры.
Собственно при детекте перебираются все форматы (в нормальном режиме до первого успешного открытия).
Важен порядок:
1) совпадения сигнатур + IsArc (если есть)
2) по расширениям файла
3) все остальные
Здесь первый пункт отработал вхолостую.
При попытке открытия IsArc() тоже обычно задействуется.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 18:38
by 2useven10
Dec wrote: Исправил.
Работает. Оба тестовых файла открываются правильно.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 18:47
by Dec
Спасибо за локализованный баг.

arclite — работа с архивами на основе 7-Zip

Posted: Sat 27 May, 2017 20:30
by 2useven10
Dec,
2useven10 wrote: При попытке открытия IsArc() тоже обычно задействуется.
Для UUE/XXE это видимо не так, иначе при открытии одного из форматов была бы ошибка.
Здесь же открытие было успешным, а ошибка проявлялась только при извлечении данных.