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

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

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

Post by Ariman » Mon 31 Aug, 2009 11:29

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

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

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

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

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


Сторонние модули:
Dir — поддержка вывода команд dir и ls в качестве виртуального архива. (на версии 1.10 работать не будет в связи с изменением API модулей)
Inno Setup - поддержка файлов Inno Setup (сделан на основе innounp).

Ariman
Posts: 1233
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

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

Post by Ariman » Thu 18 Dec, 2014 07:45

Latest post of the previous page:

Ну доки как таковой по модулям нет, потребности не возникало. Самый простой вариант это взять готовый модуль и выкинуть лишнее. А если что будет не понятно, то могу объяснить уже по деталям реализации.
Если есть желание собирать модуль в VS со всем плагином, то есть набор, который заготовки лепит - архив с шаблоном и скрипт, который имена подставляет правильно. Находиться в сорцах в каталоге extra.

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Wed 21 Jan, 2015 14:46

Захожу в по [b]CtrlPgDn[/b] в первый раз — это занимает минуту-другую (и консоль не отвечает, но речь не об этом). И всё это время заголовок консоли “ - Far 3.0.4239 x86” — некрасиво. Когда уже вошёл, всё нормально: “{PST:\} - Far 3.0.4239 x86”. Сложно ли обновлять заголовок консоли сразу после определения ответственного модуля?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1233
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

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

Post by Ariman » Wed 21 Jan, 2015 16:35

Зависит от того на каком моменте "зависает". Если на экране есть сообщение, что архив открывается, то можно и заголовок обновить. А если это самая первая функция открытия, то не получится. До выхода из неё не известно, что данный модуль принимает архив.

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Wed 21 Jan, 2015 16:41

Ariman wrote: если это самая первая функция открытия, то не получится
Так может писать в заголовок модуль, который долго анализирует? Если получится, что подолгу „обнюхивают“ несколько модулей, ну будут они там выводиться один за другим — ничего страшного.
Ну а идеально было бы ещё и процент прогресса выводить…
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1233
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

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

Post by Ariman » Wed 21 Jan, 2015 16:46

HaRT wrote:Так может писать в заголовок модуль, который долго анализирует?
Сроки анализа зависят от исходного файла. Угадать какой будет долго анализировать нельзя. А, учитывая, что плагин может перебирать все модули, то, если для каждого выводить имя перед проверкой на совместимость, то заголовок будет мигать сильно.
HaRT wrote:Ну а идеально было бы ещё и процент прогресса выводить…
При открытии прогресса нет никакого. Нечего выводить.

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Wed 21 Jan, 2015 16:52

Ariman wrote: если для каждого выводить имя перед проверкой на совместимость, то заголовок будет мигать сильно
Так я ведь специально написал не „каждый“, а „который долго анализирует“. 8-)
Т.е. обновлять, скажем, либо если анализ текущим модулем уже занял больше некой дельты, либо просто не чаще, чем раз в дельту времени. Первый подход нагляднее, второй же проще в реализации.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12250
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

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

Post by John Doe » Wed 21 Jan, 2015 16:55

Ariman wrote: то заголовок будет мигать сильно.
Опционально?
Ведь и у фара есть параметр System.ShowCheckingFile

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Wed 21 Jan, 2015 19:29

И ещё одно пожелание по модулю PST по результатам сегодняшнего использования (на примере писем): хочется иметь возможность видеть не только Subject и дату-время, но и отправителя/получателя. Насколько я вижу, в текущей реализации колонка Owner не заполняется. Хотелось бы в ней видеть значения From/To/CC/BCC — можно даже склеенные с каким-то разумным разделителем. Ну и можно совместно подумать, по каким правилам выбирать данные более гранулированно и/или для других типов Item'ов.
Прошу хотя бы занести это в список хотелок.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1233
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

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

Post by Ariman » Thu 22 Jan, 2015 11:08

HaRT wrote:Т.е. обновлять, скажем, либо если анализ текущим модулем уже занял больше некой дельты, либо просто не чаще, чем раз в дельту времени.
Анализ - это синхронный процесс. Какие-то действия можно производить только после выхода их функции открытия файла. На моей практике долгое время занимает формирование списка файлов, но для такого случая сообщение на экране есть.
HaRT wrote:Насколько я вижу, в текущей реализации колонка Owner не заполняется.
Как бы да. Для файлов в архивах данная колонка смысла не имеет.
HaRT wrote:Хотелось бы в ней видеть значения From/To/CC/BCC — можно даже склеенные с каким-то разумным разделителем.
В рамках текущего интерфейса, хорошо, если один From поместиться на экране. Остальное скорее всего даже видно никогда не будет. Да и не очень эти данные соответствуют понятию Owner.

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Thu 22 Jan, 2015 13:17

Ariman wrote: действия можно производить только после выхода их функции открытия файла
Так вроде ж можно запустить фоновый поток и через ACTL_SYNCHRO что-то полезное сделать…
Ariman wrote: долгое время занимает формирование списка файлов
В описанном мною сценарии основное время тратится до появления сообщения о чтении файлов.
Ariman wrote: Для файлов в архивах данная колонка смысла не имеет
Не могу согласиться. Даже для архивов в строгом понимании она имеет смысл — тот же, что и в файловой системе (и раз-/архиваторами поддерживается). А уж если вспомнить про всё разнообразие поддерживаемых форматов, то наличие смысла становится и вовсе несомненным.
Ariman wrote: Остальное скорее всего даже видно никогда не будет
Я согласен проматывать Alt-стрелками; либо сделаю макрос, который будет показывать Owner как-то иначе. Ну и можем обдумать, как отображать наиболее ценные в каждом случае данные первыми.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1233
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

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

Post by Ariman » Fri 23 Jan, 2015 09:29

HaRT wrote:В описанном мною сценарии основное время тратится до появления сообщения о чтении файлов.
Посмотрел я код модуля (давно туда не лазил), оказывается там открытие и листинг файлов всё ещё в одном вызове делаются. Я то им не пользуюсь, вот и необходимость разделения на глаза не попалась.
Я так понимаю, что получить на эксперименты тот гиговый файл не получится. Но если есть желание посодействовать, то могу покидать тестовых версий. Чтобы точнее определиться где основные тормоза.
HaRT wrote:Не могу согласиться. Даже для архивов в строгом понимании она имеет смысл — тот же, что и в файловой системе (и раз-/архиваторами поддерживается). А уж если вспомнить про всё разнообразие поддерживаемых форматов, то наличие смысла становится и вовсе несомненным.
Для некоторых форматов вообще - возможно. Но в тех, что в Observer-е поддерживаются, не встречал.
И как бы то ни было, комбинация всех мейлов на понятие Owner, в моем понимании, никак не натягивается.

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Fri 23 Jan, 2015 16:06

Ariman wrote: если есть желание посодействовать, то могу покидать тестовых версий
Есть, кидайте. Буду сообщать/присылать результаты. Если дадите ещё и исходники и PDBшки, то могу даже поотлаживать.
Ariman wrote: комбинация всех мейлов на понятие Owner, в моем понимании, никак не натягиваетс
Я согласен, что вариант не идеальный. Но уж очень хочется видеть те поля в одной/нескольких из колонок. Разве текущей архитектурой модулей поддерживаются кастомные колонки?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1233
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

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

Post by Ariman » Fri 23 Jan, 2015 17:32

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

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Fri 23 Jan, 2015 17:50

Ariman wrote: Выложил тестовую сборку.
Ну теперь моментально рисуется сообщение “Reading files list”, но заголовок панели при этом по-прежнему не содержит указания, который модуль так долго читает список файлов.
Ariman wrote: никто не мешает расширить
Я только за! Готов обсуждать.
Вроде и поддержка в Фаре для кастомных колонок недавно улучшилась…
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5740
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 204 times

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

Post by Shmuel » Fri 23 Jan, 2015 18:10

HaRT wrote: Вроде и поддержка в Фаре для кастомных колонок недавно улучшилась…
Это недавнее изменение относится к кастомным колонкам Фара, а не плагинов. У плагинов уже давно есть возможность создания кастомных колонок.

Ariman
Posts: 1233
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 26 times
Contact:

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

Post by Ariman » Sat 24 Jan, 2015 09:35

HaRT wrote:Ну теперь моментально рисуется сообщение “Reading files list”, но заголовок панели при этом по-прежнему не содержит указания, который модуль так долго читает список файлов.
Я заголовок то и не трогал пока. Просто подвигал код в модуле, надо же было понять где там тормоза происходят. Ну и теперь хоть консоль не висячая, а понятно что что-то происходит полезное :).
С заголовком поэкспериментирую и выложу следующую версию на тест.
HaRT wrote:Я только за! Готов обсуждать.
Предлагайте варианты, обсудим.

User avatar
HaRT
Moderator
Posts: 8704
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

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

Post by HaRT » Sat 24 Jan, 2015 15:06

Ariman wrote: теперь хоть консоль не висячая
Строго говоря, по-прежнему висячая, ведь пользователь ничего не может даже посмотреть, пока файлы читаются. Но теперь хотя бы понятно, что происходит.
Ariman wrote: Предлагайте варианты, обсудим
О, мне только дай волю, я напредлагаю!
Вариант «дёшево и сердито» я уже предложил — запихать все адресные поля в Owner.
Ну а идеально было бы иметь возможность настроить, в какой кастомной колонке какие свойства элемента отображать, притом с возможностью склейки и проверки. Соответствие (mapping) можно было бы задавать в виде выражений на Луа.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

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