Observer — распаковка файлов из различных контейнеров
Posted: Mon 31 Aug, 2009 11:29
by Ariman
Тема для обсуждения плагина Observer. Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.
Хотелки/баги:
- MIME: показывать реальные размеры всех файлов внутри контейнеров
- ISO: исправить извлечение загрузочных HDD образов
- MIME: папки из вложенных multipart сообщений (или eml файлы)
- MSI: в {msi_info}.txt добавить секцию “[Services]” по мотивам таблицы ServiceInstall
- MSI: показывать встроенные служебные файлы
- VDISK: Не показываются скрытые файлы в vhd.
- Снимать атрибут Read-Only при перезаписи файлов
- Поддержка .msm файлов (MSI Merge Modules).
- Файлы *.hlf для Far 1.75 идут в кодировке UTF-8.
- Исправить поддержку русских имён на томах FAT32.
- MIME: сделать доступным заголовок письма в декодированном виде
- Добавить второй конфиг файл (observer_user.ini)
- Добавить поддержку Adobe PDF portfolio
- Добавить шорткаты для списка модулей.
- MPQ: Добавить поддержку list-файлов
- MIME: из дополнительной информации о файлах генерировать файл описаний
- PST: маркировать письма по статусу при помощи файловых атрибутов (ссылка)
- В режиме панели Unsorted показывать элементы в том порядке, в котором они приходят из модулей
- Поддержка длинных имён для FAT32.
- При выгрузке плагина не выгружается модуль VDISK.
- Загрузка модулей по мере необходимости.
- Добавить поддержку PDB
- Добавить опцию отключения авто-переименования файлов с одинаковыми именами
- MIME: добавить опцию, которая позволяет парсить файлы без пустой строки между телом и заголовком
- Показывать количество жёстких ссылок (hardlinks) на файл.
- Добавить возможность модулям выдавать диагностику контейнера.
- MSI: добавить поддержку mst
- Улучшить систему вывода ошибок
- Реализовать в виде модуля fb2bin
- Добавить возможность продолжить распаковку в случае ошибки
- Добавить возможность переименования проблемных файлов при распаковке
- Добавить поддержку UDF внутри .isz.
- Давать возможность просмотра скрипта NSIS в бинарном виде.
- Добавить поддержку формата OST.
- имя просматриваемого файла в заголовке панели и titlebar Far'а
- Добавить пункт Extract в меню плагина
- Расширение возможностей работы с префиксом
- Поддержка BSA
- Расширить индикатор прогресса
- Добавить поддержку макросов
- vise installer
- inno setup
- PDB
- WCX wrapper
- почтовые ящики формата mbox
- почтовые ящики формата tbb (от The Bat)
- виртуальные диски от vmware и virtual box
- isz образы (сжатый iso)
- MoPaQ архивы
Если "ничего не работает", то прежде чем писать сюда:
Читаем системные требования, убеждаемся что они выполнены полностью (найти можно в документации к плагину).
Если какой-то конкретный модуль не работает, то смотрим что он загружен. Для этого набираем F11 -> Observer -> Open file as... -> ищем имя в списке. Если модуля там нет, то он не загружен и работать не будет.
Чтобы увидеть ошибки при загрузке модулей выставляем значение VerboseModuleLoad=1 в файле observer.ini и перезапускаем Far.
Сторонние модули:
Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Observer — распаковка файлов из различных контейнеров
Posted: Mon 28 Oct, 2019 09:32
by Ariman
Latest post of the previous page:
SEt wrote: ↑Thu 03 Oct, 2019 15:50
Но если что-то пойдёт не так, то мне хотелось бы, чтобы он тихо отвалился и передал файл дальше. В крайнем случае, громко отвалился, но всё равно передал файл дальше.
Поковырялся с своем коде, чтобы вспомнить что там и как. Если PrepareFiles возвращает false, то OpenW вернет NULL, точно так же, как если обломился OpenStorage. Только дополнительно обругавшись при этом.
По идее, Far, если бы хотел, то мог бы передать файл дальше по цепочке. Но, если я правильно понял текст писания, то OpenW получает только один плагин, который был выбран после AnalizeW. И передавать файл некому. Но тут нужны эксперты по внутренностям Фара.
Observer — распаковка файлов из различных контейнеров
SEt wrote: ↑Thu 26 Sep, 2019 17:272) В OpenStorage полезно было бы дать небольшой кусок начала файла, чтобы модуль мог легко и быстро проверить тип файла по сигнатуре, если она есть для данного формата.
2) Это уже реализовано.
Оно реализовано, но не очень: params.Data когда есть, а когда и нет. В частности, при типичном двойном вызове OpenStorage: первый раз есть, а второй раз нет.
Но и эту проблему, и предыдущую с PrepareFiles можно было бы легко решить, если не делать двойного вызова OpenStorage. Если модуль вернул, что он понимает формат, то нельзя ли его подержать в открытом виде, а не вызывать сразу CloseStorage? В таком случае, возможно, PrepareFiles и вообще не нужно.
Observer — распаковка файлов из различных контейнеров
Posted: Mon 28 Oct, 2019 15:31
by Ariman
SEt wrote: ↑Mon 28 Oct, 2019 14:48
Оно реализовано, но не очень: params.Data когда есть, а когда и нет. В частности, при типичном двойном вызове OpenStorage: первый раз есть, а второй раз нет.
params.Data есть, когда OpenStorage вызван из AnalizeW, эти данные Фар передает. Когда вызывается из OpenW, то никаких данных уже нет.
SEt wrote: ↑Mon 28 Oct, 2019 14:48
Если модуль вернул, что он понимает формат, то нельзя ли его подержать в открытом виде, а не вызывать сразу CloseStorage?
И сколько его держать? Плагин не знает, понадобятся эти данные или нет. Если мы в AnalizeW вернули, что файл поддерживается, то не факт, что потом пользователь откроет данный файл именно этим плагином.
Observer — распаковка файлов из различных контейнеров
Observer — распаковка файлов из различных контейнеров
Posted: Tue 12 Nov, 2019 07:36
by Ariman
LAT wrote: ↑Mon 11 Nov, 2019 21:46
Столь суровый вид связан с отсутствием поддержки юникода
Если открывал в версии 1.11, то да. В 1.12 должно выглядеть красиво.
Observer — распаковка файлов из различных контейнеров
Posted: Thu 14 Nov, 2019 10:01
by LAT
Спасибо, в 1.12 (на плагринге отсутствует, брал здесь: https://ci.appveyor.com/project/lazyham ... /artifacts) вид нормальный. А подскажите еще, новые версии плагина нужно брать на этом сайте, или же эта версия в процессе разработки (поэтому не выкладывалась на плагринг)?
Observer — распаковка файлов из различных контейнеров
Posted: Thu 14 Nov, 2019 12:46
by Ariman
Когда будет релиз, то он будет выложен на плагринг, как и раньше. На appveyor-е сборки для желающих пользоваться новой версией, несмотря на известные недостатки.
Observer — распаковка файлов из различных контейнеров
Posted: Tue 26 Nov, 2019 11:29
by Ariman
Настроил выкладку текущей сборки на Bintray. Файлы на appveyor-е хранятся не долго, да и интерфейс не совсем для скачки файлов. Заливается файлы с последнего успешного билда. Ссылка в первом посте.
Observer — распаковка файлов из различных контейнеров
Posted: Thu 16 Jan, 2020 19:22
by LAT
В папке с Outlook-овскими ost- и pst-файлами большого размера запускаю поиск (Alt+F7) с установленным чекбоксом "Искать в архивах". Начинается поиск. Нажимаю Esc (или клацаю кнопку "Стоп"), выскакивает диалог "Вы действительно хотите отменить действие?". Нажимаю "Да" - но поиск не прекращается. При нажатии "Новый поиск" вообще все виснет.
FAR 3.0.5545x86, Observer 1.12.0.
Observer — распаковка файлов из различных контейнеров
Posted: Mon 20 Jan, 2020 11:55
by Ariman
Я не совсем уверен, что это проблема плагина. Поиск то Фар сам делает.
Пачки больших файлов от аутлука у меня нет, проверил на каталоги с iso-шками. Вроде не виснет ничего. Отмена поиска подлагивает существенно, но я слабо представляю, что тут может плагин сделать.
Observer — распаковка файлов из различных контейнеров
Posted: Thu 23 Jan, 2020 13:43
by yurikus
Добрый день, что-то случилось с распаковкой msi. Первый файл видит как дерево файлов/каталогов, второй - отказывается открывать.
Observer — распаковка файлов из различных контейнеров
Posted: Thu 23 Jan, 2020 13:45
by HaRT
yurikus wrote: ↑Thu 23 Jan, 2020 13:43
что-то случилось с распаковкой msi
В какой самой ранней сборке сломалось? В какой самой поздней было ещё всё в порядке?
Observer — распаковка файлов из различных контейнеров
Posted: Thu 23 Jan, 2020 13:55
by yurikus
HaRT wrote: ↑Thu 23 Jan, 2020 13:45
В какой самой ранней сборке сломалось? В какой самой поздней было ещё всё в порядке?
Заметил в 1.11, взял самую последнюю 1.12 со ссылки в первом сообщении. Правильнее было бы спросить: в чём проблема с файлом 7.7.0-848584f5, т.к. 7.6.0-95186515 открывается. Прошу прощения за неточность.
Observer — распаковка файлов из различных контейнеров
Posted: Fri 24 Jan, 2020 14:22
by yurikus
@HaRT Here's the bug: https://github{dot}com/lazyhamster/Observer/issues/5
Observer — распаковка файлов из различных контейнеров
Posted: Sat 25 Jan, 2020 16:35
by Ariman
Спасибо за диагностику. Действительно буфер коротковат для данного файла. Исправлю. Вдохновила меня эта проблема на рефакторинг чтения строк из MSI, чтобы больше не натыкаться на такое.
Observer — распаковка файлов из различных контейнеров