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.
User avatar
John Doe
Бюрократ
Posts: 13867
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

>Плюс некоторые исходники были заметно доработаны.
Кстати, nsis в составе 7-zip недавно правился, эти изменения учтены?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Как сорцы появятся - учту. На альфы Павлов исходники не выкладывает.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman,
stasf wrote: где можно почитать про модулеписательство для Observer'а ?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Ну доки как таковой по модулям нет, потребности не возникало. Самый простой вариант это взять готовый модуль и выкинуть лишнее. А если что будет не понятно, то могу объяснить уже по деталям реализации.
Если есть желание собирать модуль в VS со всем плагином, то есть набор, который заготовки лепит - архив с шаблоном и скрипт, который имена подставляет правильно. Находиться в сорцах в каталоге extra.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Захожу в по [b]CtrlPgDn[/b] в первый раз — это занимает минуту-другую (и консоль не отвечает, но речь не об этом). И всё это время заголовок консоли “ - Far 3.0.4239 x86” — некрасиво. Когда уже вошёл, всё нормально: “{PST:\} - Far 3.0.4239 x86”. Сложно ли обновлять заголовок консоли сразу после определения ответственного модуля?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Зависит от того на каком моменте "зависает". Если на экране есть сообщение, что архив открывается, то можно и заголовок обновить. А если это самая первая функция открытия, то не получится. До выхода из неё не известно, что данный модуль принимает архив.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote: если это самая первая функция открытия, то не получится
Так может писать в заголовок модуль, который долго анализирует? Если получится, что подолгу „обнюхивают“ несколько модулей, ну будут они там выводиться один за другим — ничего страшного.
Ну а идеально было бы ещё и процент прогресса выводить…
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:Так может писать в заголовок модуль, который долго анализирует?
Сроки анализа зависят от исходного файла. Угадать какой будет долго анализировать нельзя. А, учитывая, что плагин может перебирать все модули, то, если для каждого выводить имя перед проверкой на совместимость, то заголовок будет мигать сильно.
HaRT wrote:Ну а идеально было бы ещё и процент прогресса выводить…
При открытии прогресса нет никакого. Нечего выводить.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote: если для каждого выводить имя перед проверкой на совместимость, то заголовок будет мигать сильно
Так я ведь специально написал не „каждый“, а „который долго анализирует“. 8-)
Т.е. обновлять, скажем, либо если анализ текущим модулем уже занял больше некой дельты, либо просто не чаще, чем раз в дельту времени. Первый подход нагляднее, второй же проще в реализации.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13867
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Ariman wrote: то заголовок будет мигать сильно.
Опционально?
Ведь и у фара есть параметр System.ShowCheckingFile
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

И ещё одно пожелание по модулю PST по результатам сегодняшнего использования (на примере писем): хочется иметь возможность видеть не только Subject и дату-время, но и отправителя/получателя. Насколько я вижу, в текущей реализации колонка Owner не заполняется. Хотелось бы в ней видеть значения From/To/CC/BCC — можно даже склеенные с каким-то разумным разделителем. Ну и можно совместно подумать, по каким правилам выбирать данные более гранулированно и/или для других типов Item'ов.
Прошу хотя бы занести это в список хотелок.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:Т.е. обновлять, скажем, либо если анализ текущим модулем уже занял больше некой дельты, либо просто не чаще, чем раз в дельту времени.
Анализ - это синхронный процесс. Какие-то действия можно производить только после выхода их функции открытия файла. На моей практике долгое время занимает формирование списка файлов, но для такого случая сообщение на экране есть.
HaRT wrote:Насколько я вижу, в текущей реализации колонка Owner не заполняется.
Как бы да. Для файлов в архивах данная колонка смысла не имеет.
HaRT wrote:Хотелось бы в ней видеть значения From/To/CC/BCC — можно даже склеенные с каким-то разумным разделителем.
В рамках текущего интерфейса, хорошо, если один From поместиться на экране. Остальное скорее всего даже видно никогда не будет. Да и не очень эти данные соответствуют понятию Owner.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote: действия можно производить только после выхода их функции открытия файла
Так вроде ж можно запустить фоновый поток и через ACTL_SYNCHRO что-то полезное сделать…
Ariman wrote: долгое время занимает формирование списка файлов
В описанном мною сценарии основное время тратится до появления сообщения о чтении файлов.
Ariman wrote: Для файлов в архивах данная колонка смысла не имеет
Не могу согласиться. Даже для архивов в строгом понимании она имеет смысл — тот же, что и в файловой системе (и раз-/архиваторами поддерживается). А уж если вспомнить про всё разнообразие поддерживаемых форматов, то наличие смысла становится и вовсе несомненным.
Ariman wrote: Остальное скорее всего даже видно никогда не будет
Я согласен проматывать Alt-стрелками; либо сделаю макрос, который будет показывать Owner как-то иначе. Ну и можем обдумать, как отображать наиболее ценные в каждом случае данные первыми.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:В описанном мною сценарии основное время тратится до появления сообщения о чтении файлов.
Посмотрел я код модуля (давно туда не лазил), оказывается там открытие и листинг файлов всё ещё в одном вызове делаются. Я то им не пользуюсь, вот и необходимость разделения на глаза не попалась.
Я так понимаю, что получить на эксперименты тот гиговый файл не получится. Но если есть желание посодействовать, то могу покидать тестовых версий. Чтобы точнее определиться где основные тормоза.
HaRT wrote:Не могу согласиться. Даже для архивов в строгом понимании она имеет смысл — тот же, что и в файловой системе (и раз-/архиваторами поддерживается). А уж если вспомнить про всё разнообразие поддерживаемых форматов, то наличие смысла становится и вовсе несомненным.
Для некоторых форматов вообще - возможно. Но в тех, что в Observer-е поддерживаются, не встречал.
И как бы то ни было, комбинация всех мейлов на понятие Owner, в моем понимании, никак не натягивается.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote: если есть желание посодействовать, то могу покидать тестовых версий
Есть, кидайте. Буду сообщать/присылать результаты. Если дадите ещё и исходники и PDBшки, то могу даже поотлаживать.
Ariman wrote: комбинация всех мейлов на понятие Owner, в моем понимании, никак не натягиваетс
Я согласен, что вариант не идеальный. Но уж очень хочется видеть те поля в одной/нескольких из колонок. Разве текущей архитектурой модулей поддерживаются кастомные колонки?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:Есть, кидайте. Буду сообщать/присылать результаты. Если дадите ещё и исходники и PDBшки, то могу даже поотлаживать.
Выложил тестовую сборку. Там весь комплект собран. Отдельно модуль не потестить, в текущей версии апи модулей поменялся. Если есть желание сорцы погонять, то можно из гита их взять.
HaRT wrote:Я согласен, что вариант не идеальный. Но уж очень хочется видеть те поля в одной/нескольких из колонок. Разве текущей архитектурой модулей поддерживаются кастомные колонки?
Так никто не мешает расширить. Всяко лучше, чем притягивать данные за уши в существующие колонки.
Post Reply

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