Page 79 of 147

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

Posted: Mon 31 Aug, 2009 11:29
by Ariman
Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

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

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

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

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


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)

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

Posted: Sun 17 Mar, 2013 14:04
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

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

Posted: Sun 17 Mar, 2013 14:26
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. Имя неправильное - это тоже баг (что-то с кодировкой похоже)

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

Posted: Thu 21 Mar, 2013 13:57
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. Имя неправильное - это тоже баг (что-то с кодировкой похоже)
Я пробовал как-то починить, этот файлик уже проскальзывал на форуме. Там файловые имена лежат в юникоде и в таком виде. Я так и не нашел как это исправить.

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

Posted: Fri 22 Mar, 2013 15:59
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 ] не помешает.

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

Posted: Fri 22 Mar, 2013 16:22
by Alexey Samlyukov
залил версию 1,9 на плагринг

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

Posted: Sat 23 Mar, 2013 10:52
by Ariman
2 John Doe
Добавил оба запроса пока в список хотелок.

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

Posted: Sat 23 Mar, 2013 11:05
by John Doe
Ok!
PDB в списке 2 раза

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

Posted: Mon 25 Mar, 2013 06:34
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-ом.

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

Posted: Wed 27 Mar, 2013 20:28
by Ariman
John Doe wrote:Предлагаю сделать { Ignore } [ Ignore All ] [ Abort ]
Оказывается я уже стал забывать собственный код :). У меня уже есть такая фича, но диалог показывается не для всех ошибок. А модуль NSIS-а выдает только такие, которые останавливают процесс. Недоработка, буду править.
Переименование, однако, реализовывать надо с нуля.
DiRTy_GaRRy wrote:По ходу дела, оно падает только, если первый открываемый архив (например, zip-к) находится в папке являющейся junction-ом.
Попробую повторить. А падает сам плагин или какой-то из модулей?

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

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

Code: Select all

╔═════════════════════ Исключительная ситуация ══════════════════════╗
║ Исключение:  Неизвестное исключение (0xE0434352)                   ║
║ Адрес:       0x000007F9741A811C                                    ║
║ Функция:     AnalyseW                                              ║
║ Модуль:      ar Manager\Plugins\Additional\Observer\4Observer.dll  ║
╟────────────────────────────────────────────────────────────────────╢
║                  { Выгрузить плагин } [ Отладка ]                  ║
╚════════════════════════════════════════════════════════════════════╝

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

Posted: Fri 29 Mar, 2013 12:40
by Ariman
DiRTy_GaRRy wrote:Плагин, насколько я понимаю:
Ну тут то понятно, что плагин будет прописан. Может что-нибудь полезное в трап-логе стандартном?

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

Posted: Sat 30 Mar, 2013 08:52
by DiRTy_GaRRy
Может pdb-и дашь? Я бы тогда попробовал раскопать чего-нибудь более конкретного.

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

Posted: Fri 05 Apr, 2013 14:19
by Ariman
DiRTy_GaRRy wrote:Может pdb-и дашь? Я бы тогда попробовал раскопать чего-нибудь более конкретного.
Могу и дебажную версию собрать, для удобства.
А у тебя студии 2010-й нет часом (в сорцах все-таки проще ковырятся)?

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

Posted: Sat 06 Apr, 2013 21:42
by DiRTy_GaRRy
И 2010-я есть и 2012-я. Что-то я и не заметил, что сорцы есть. ;) На неделе попробую глянуть.

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

Posted: Mon 08 Apr, 2013 17:54
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?

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

Posted: Mon 08 Apr, 2013 18:39
by John Doe
Docent1 wrote:Это что, должен быть wcx.ini файл?
observer.ini