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

Здесь можно обсудить ваш любимый плагин.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

Тема для обсуждения arclite — нового альтернативного плагина архиватора 7-Zip для Far.
("Старый" плагин 7zipalt обсуждается в прежней теме.)

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

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











Кодек LZHAM
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

Latest post of the previous page:

Похоже eDecoder для обоих форматов признаёт файлы как 'свои'.
arclite в этом случае берёт первый (uue) если явно не выбрать xxe.
Как 7z удаётся выбрать нужный - надо смотреть, может быть он в такой ситуации пробует оба варианта,
или при неуспехе первого пробует второй...
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

наворачивать логику с перебором форматов из-за этого особого желания нет.
тем более что UUE от XXE вроде бы по набору символов отличить не сложно.
попросите автора eDecoder сделать более строгую проверку для ф-й IsArc() UUE и XXE.
Last edited by 2useven10 on Sat 27 May, 2017 15:43, edited 1 time in total.
Dec
Posts: 67
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec »

Так уж получилось, что я являюсь автором eDecoder. И как бы IsArc реализован достаточно строго как для UUE, так и для XXE. Собственно, благодаря строгости IsArc 7zip корректно определяет тип файла.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

Ок, я посмотрю, почему arclite детектит оба формата на файлах.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

Ситуация обратная: detect вообще ничего не находит, поэтому при открытии перебираются все форматы подряд - uue первый.
Ничего не находится, потому что uue (xxe не смотрел, но видимо тоже) отдаёт в get_prop(NArchive::NHandlerPropID::kSignature)
сигнатуру начинающуюся с "begin " диной 12 байт.
Dec
Posts: 67
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec »

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

Исправил.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

Участвует, но после совпадения сигнатуры.
Собственно при детекте перебираются все форматы (в нормальном режиме до первого успешного открытия).
Важен порядок:
1) совпадения сигнатур + IsArc (если есть)
2) по расширениям файла
3) все остальные
Здесь первый пункт отработал вхолостую.
При попытке открытия IsArc() тоже обычно задействуется.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

Dec wrote: Исправил.
Работает. Оба тестовых файла открываются правильно.
Dec
Posts: 67
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec »

Спасибо за локализованный баг.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

Dec,
2useven10 wrote: При попытке открытия IsArc() тоже обычно задействуется.
Для UUE/XXE это видимо не так, иначе при открытии одного из форматов была бы ошибка.
Здесь же открытие было успешным, а ошибка проявлялась только при извлечении данных.
Dec
Posts: 67
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec »

Небольшой оффтоп:
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Плагин отказывается создавать архив по ShiftF1 в %USERPROFILE%\My Documents.

Code: Select all

╔═══════════════════ arclite ════════════════════╗
║         Access is denied. (0x80070005)         ║
║      C:\Users\Shmuel\My Documents\123.hex      ║
║                sysutils.cpp:576                ║
╟────────────────────────────────────────────────╢
║ { Retry } [ Ignore ] [ Ignore All ] [ Cancel ] ║
╚════════════════════════════════════════════════╝
Распаковывать существующий архив в этой же папке не отказывается.
Что это может быть?
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

у меня повторяется, посмотрю чуть позже...
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Плагин, скорее всего, не виноват. Например, команду explorer . из этой папки выполнить не удаётся.
Также попробовал сбросить read-only в свойствах этой папки в проводнике. Сбрасывать даёт, но при повторном открытии диалога свойств атрибут стоит снова как ни в чём не бывало.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

FindFirstFileW() обламывается на маске = полному пути к файлу в этой папке, GetLastError() = 5...
Post Reply

Return to “Обсуждение плагинов”