Observer — распаковка файлов из различных контейнеров

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

Хотелки/баги:

Известные проблемы:

Планируемые новые модули:

Если "ничего не работает", то прежде чем писать сюда:


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Last edited by Ariman on Wed 04 May, 2022 14:36, edited 7 times in total.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: Observer — распаковка файлов из различных контейнеров

Post by Denis »

Latest post of the previous page:

Не может распаковать следующий архив:
http://code.google.com/p/fictionbookedi ... Apr%29.exe


Far 3.0 build 3252 x64
Observer_Far3_x64_190.rar
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

Классный багрепорт, ага.

У меня распаковка прерывается такой ошибкой:

Code: Select all

╔═══════════════ Extract Error ════════════════╗
║         Extracting failed for file:          ║
║ $INSTDIR\HTML\CSS\C40;5=85 @07@K2>2_main.css ║
╟──────────────────────────────────────────────╢
║                    { OK }                    ║
╚══════════════════════════════════════════════╝
1. Я понимаю, имя некорректное, но почему не продолжить распаковывать остальное
2. Даже если попалось некорректное - хорошо бы предлагать переименование
3. Имя неправильное - это тоже баг (что-то с кодировкой похоже)
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Denis wrote:Не может распаковать следующий архив:
http://code.google.com/p/fictionbookedi ... Apr%29.exe
Да, знакомый файлик. Я так и не понял что там намутили с инсталяхой, что у неё имена нормально не читаются.
John Doe wrote:1. Я понимаю, имя некорректное, но почему не продолжить распаковывать остальное
Я не стал такую фичу реализовывать. Обычно если какой-то файл не достается, то это проблемы с контейнером или целевым каталогом, и остальное вряд ли можно достать.
John Doe wrote:2. Даже если попалось некорректное - хорошо бы предлагать переименование
Вряд ли это будет удобно. В данном файле, например, куча файлов с кривыми имена, все переименовывать запаришься.
John Doe wrote:3. Имя неправильное - это тоже баг (что-то с кодировкой похоже)
Я пробовал как-то починить, этот файлик уже проскальзывал на форуме. Там файловые имена лежат в юникоде и в таком виде. Я так и не нашел как это исправить.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

Ariman wrote:
John Doe wrote:1. Я понимаю, имя некорректное, но почему не продолжить распаковывать остальное
Я не стал такую фичу реализовывать. Обычно если какой-то файл не достается, то это проблемы с контейнером или целевым каталогом, и остальное вряд ли можно достать.
Мало ли почему файл не достаётся. Может быть и контейнер повреждён, да.
Но остальное *можно* попытаться достать. А именно из обсуждаемого дистрибутива достаётся вообще всё, кроме папки HTML.
Кстати сейчас при ошибке мы видим Extracting failed for file:..., и нигде не сказано, что работа *вообще* прервана, даже кнопка называется { OK }.

Предлагаю сделать { Ignore } [ Ignore All ] [ Abort ] .
В случае Ignore All после завершения вывести лог ошибок, как это делает arclite
Ariman wrote:
John Doe wrote:2. Даже если попалось некорректное - хорошо бы предлагать переименование
Вряд ли это будет удобно. В данном файле, например, куча файлов с кривыми имена, все переименовывать запаришься.
В данном случае да, а вообще - не факт. Тем более переименовывать можно и автоматически.
Диалог с возможностью { Rename } [ Auto Rename ] [ Skip ] [ Skip All ] не помешает.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Alexey Samlyukov »

залил версию 1,9 на плагринг
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

2 John Doe
Добавил оба запроса пока в список хотелок.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

Ok!
PDB в списке 2 раза
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by DiRTy_GaRRy »

Что бы последняя версия плагина не падал в AnalyzeW, пришлось в Far.exe.config добавить следующее:

Code: Select all

<runtime>
	<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
		<probing privatePath="Plugins\Additional\Observer\modules"/>
	</assemblyBinding>
</runtime>
Windows Server 2012 / Far 3 x64 latest / По ходу дела, оно падает только, если первый открываемый архив (например, zip-к) находится в папке являющейся junction-ом.
Ы?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

John Doe wrote:Предлагаю сделать { Ignore } [ Ignore All ] [ Abort ]
Оказывается я уже стал забывать собственный код :). У меня уже есть такая фича, но диалог показывается не для всех ошибок. А модуль NSIS-а выдает только такие, которые останавливают процесс. Недоработка, буду править.
Переименование, однако, реализовывать надо с нуля.
DiRTy_GaRRy wrote:По ходу дела, оно падает только, если первый открываемый архив (например, zip-к) находится в папке являющейся junction-ом.
Попробую повторить. А падает сам плагин или какой-то из модулей?
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by DiRTy_GaRRy »

Ariman wrote:
DiRTy_GaRRy wrote:По ходу дела, оно падает только, если первый открываемый архив (например, zip-к) находится в папке являющейся junction-ом.
Попробую повторить. А падает сам плагин или какой-то из модулей?
Плагин, насколько я понимаю:

Code: Select all

╔═════════════════════ Исключительная ситуация ══════════════════════╗
║ Исключение:  Неизвестное исключение (0xE0434352)                   ║
║ Адрес:       0x000007F9741A811C                                    ║
║ Функция:     AnalyseW                                              ║
║ Модуль:      ar Manager\Plugins\Additional\Observer\4Observer.dll  ║
╟────────────────────────────────────────────────────────────────────╢
║                  { Выгрузить плагин } [ Отладка ]                  ║
╚════════════════════════════════════════════════════════════════════╝
Ы?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

DiRTy_GaRRy wrote:Плагин, насколько я понимаю:
Ну тут то понятно, что плагин будет прописан. Может что-нибудь полезное в трап-логе стандартном?
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by DiRTy_GaRRy »

Может pdb-и дашь? Я бы тогда попробовал раскопать чего-нибудь более конкретного.
Ы?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by Ariman »

DiRTy_GaRRy wrote:Может pdb-и дашь? Я бы тогда попробовал раскопать чего-нибудь более конкретного.
Могу и дебажную версию собрать, для удобства.
А у тебя студии 2010-й нет часом (в сорцах все-таки проще ковырятся)?
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by DiRTy_GaRRy »

И 2010-я есть и 2012-я. Что-то я и не заметил, что сорцы есть. ;) На неделе попробую глянуть.
Ы?
Docent1
Posts: 561
Joined: Thu 31 Mar, 2005 23:13
Been thanked: 1 time

Re: Observer — распаковка файлов из различных контейнеров

Post by Docent1 »

Ariman
Вроде просмотрел все обсуждения. Но так и не понял: как привязать к wcx.so плагин .wcx, если он в с ним не вместе (не в одной директории с wcx.so).
В wcx.txt написано:
-----------------------------------------------------------------------------------------------------------
"обвертка для WCX плагинов от TC. Поддерживаются и ANSI, и Unicode плагины.
По умолчанию *.wcx файлы складываются в папку wcx рядом с модулем. Но можно и
в настройках прописать где они лежит.
[WCX]
WcxLocation=<путь где лежат wcx файлы>
RecursiveLoad=1
PS. Не забываем прописывать модуль в настройках."
----------------------------------------------------------------------------------------------------------
Это что, должен быть wcx.ini файл?
И как прописываь модуль?
Если можно, пример. Спасибо.
P.S. И катой приоритет имеет плагин .wcx по сравнению с Observer?
Docent1
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Observer — распаковка файлов из различных контейнеров

Post by John Doe »

Docent1 wrote:Это что, должен быть wcx.ini файл?
observer.ini
Post Reply

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