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

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

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

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

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

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

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

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

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


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

tstr
Posts: 529
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 8 times
Been thanked: 7 times

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

Post by tstr » Sun 16 Dec, 2012 17:33

Latest post of the previous page:

при попытке открыть битый .ISO получаю сообщение о ошибке в графическом окне

testISO.7z
тестовый битый ISO
(324 Bytes) Downloaded 79 times

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

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

Post by Ariman » Mon 17 Dec, 2012 09:17

zg wrote:по второму пункту — нет.
Отлично. Теперь осталось починить шатдаун. Трап лога или какого-нибудь полезного сообщения при этом не остается?
tstr wrote:при попытке открыть битый .ISO получаю сообщение о ошибке в графическом окне
Это относительно нормально ). Я оставил в vdisk-е вывод сообщения об ошибках для диагностики. Надо, наверное, это опционально сделать.

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

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

Post by HaRT » Mon 17 Dec, 2012 11:48

Ariman wrote:
tstr wrote:при попытке открыть битый .ISO получаю сообщение о ошибке в графическом окне
Это относительно нормально ). Я оставил в vdisk-е вывод сообщения об ошибках для диагностики.
А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Dzirt2005
Posts: 296
Joined: Fri 29 Feb, 2008 12:11
Been thanked: 2 times

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

Post by Dzirt2005 » Mon 17 Dec, 2012 12:38

HaRT wrote:...
А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Скорее всего выдаст "невидимое" окно на невидимом десктопе и продолжить выполнение в Фаре будет нельзя до закрытия всей сессии. Как обычно вобщем-то с этим .NET'ом любящим GUI-сообщения об ошибках... :/

montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 7 times

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

Post by montonero » Mon 17 Dec, 2012 13:06

Ariman wrote:Теперь по идее должно открыться, когда убрано ограничение на таблицы с файлами и каталогами (которых в mst файлах, естественно, нет). Попробуй.
Не открывается. Насколько я разобрался, mst просто так не откроешь. Только SummaryInformation доступна. mst придется применить к msi. В качестве msi можно использовать пустую (создать заранее или на лету), потом применить трансформ с флагом msiTransformErrorViewTransform и работать с таблицей _TransformView. Пример есть в SDK - WiLstXfm.vbs
"Far... Far never changes..."

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

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

Post by Ariman » Mon 17 Dec, 2012 14:03

HaRT wrote:А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Я использую стандартную функцию MessageBox (обычный WinAPI, не .net). Как оно себя будет вести не в курсе.
HaRT wrote:Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Думаю опцию в конфиге сделать.

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

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

Post by Ariman » Mon 17 Dec, 2012 17:24

montonero wrote:Не открывается. Насколько я разобрался, mst просто так не откроешь.
Раз просто так не сработало, то буду исследовать плотнее. Надо только найти mst для тестов.

montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 7 times

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

Post by montonero » Mon 17 Dec, 2012 17:48

Ariman wrote:Раз просто так не сработало, то буду исследовать плотнее. Надо только найти mst для тестов.
mst я могу наделать каких угодно - только попроси.
"Far... Far never changes..."

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

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

Post by HaRT » Mon 17 Dec, 2012 18:10

Ariman wrote:
HaRT wrote:А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Я использую стандартную функцию MessageBox (обычный WinAPI, не .net). Как оно себя будет вести не в курсе.
Я только что поставил эксперимент: взял программку: , собрал её и запустил в сеансе SSH (сервер — Kpym). Она вывела сообщение на консоль, заблокировалась и стала ждать, очевидно, закрытия нигде не видимого окна Message Box'а — пришлось завершить процесс по CtrlC.
Ariman wrote:
HaRT wrote:Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Думаю опцию в конфиге сделать.
Чтобы избежать вышеописанного поведения, хорошо бы, чтобы при запуске без GUI графические сообщения с ошибками подавлялись независимо от состояния этой опции.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

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

Post by Ariman » Mon 17 Dec, 2012 18:44

montonero wrote:mst я могу наделать каких угодно - только попроси.
Хорошо бы, если не сложно, штучки 3-4 для экспериментов. Если с сопутствующими файлами msi, то ещё лучше.
HaRT wrote:Чтобы избежать вышеописанного поведения, хорошо бы, чтобы при запуске без GUI графические сообщения с ошибками подавлялись независимо от состояния этой опции.
А как это определить, с GUI запуск или без?

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

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

Post by HaRT » Mon 17 Dec, 2012 21:08

Ariman wrote:А как это определить, с GUI запуск или без?
Как я понял вот из этой статьи (рекомендую!) и из экспериментов, .
Фар есть инструмент, а не нянька. © 2009 DrKnS

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 17 Dec, 2012 21:30

Может я чего-то не понимаю, но зачем выдавать GUI сообщения чтобы потом с ними мучительно бороться. Не проще сразу выдавать консольные сообщения?

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

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

Post by Ariman » Mon 17 Dec, 2012 22:04

HaRT wrote:Как я понял вот из этой статьи (рекомендую!) и из экспериментов,
Спасибо, интересное и полезное чтиво.
Max Rusov wrote:Может я чего-то не понимаю, но зачем выдавать GUI сообщения чтобы потом с ними мучительно бороться. Не проще сразу выдавать консольные сообщения?
Ну изначально я бороться то не собирался :). Но если окошки пользователей смущают или мешают, то можно и убрать.
Сообщения должны возникать только при проблемах и должны помочь для багрепортов. Консольное сообщение можно просто не заметить, а возможности показывать фаровые диалоги из модулей нет.

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

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

Post by HaRT » Tue 18 Dec, 2012 10:27

Ariman wrote:Сообщения должны возникать только при проблемах и должны помочь для багрепортов. Консольное сообщение можно просто не заметить, а возможности показывать фаровые диалоги из модулей нет.
На мой взгляд, идеально было бы так:
* Модули вообще никакие сообщения ни в какой форме непосредственно не выводят. Вместо этого они аккумулируют всё, что они „хотят сказать” про конкретный файл, и отдают это наверх, диспетчеру.
* При наличии ошибок/предупреждений головной плагин как-то (см. ниже) сигнализирует об их наличии, а также предоставляет возможность посмотреть подробности.
* Как сигнализировать наличие/подробности ошибок, можно было бы задавать настройкой (никак/ консольное сообщение/ фаровский диалог/ графический диалог/ …), однако достаточно будет выводить в консоль ярким цветом (при умолчательной палитре — красным) строку о количестве ошибок/предупреждений и предложение почитать журнал.
* Журнал можно было бы использовать системный (Event Log) или файл где-то в локальном профиле пользователя. В последнем случае желательно иметь возможность настраивать степень подробности — например, как в log4j или как в Ruby Logger::Severity.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

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

Post by Ariman » Tue 18 Dec, 2012 14:36

HaRT wrote:На мой взгляд, идеально было бы так:
Ну с логом это, по моему, перебор, но идея хорошая. Осталось найти время и сделать :). Внесу пока с вишлист, чтобы не забылось.

DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

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

Post by DiRTy_GaRRy » Wed 19 Dec, 2012 11:38

Dzirt2005 wrote:
HaRT wrote:...
А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Скорее всего выдаст "невидимое" окно на невидимом десктопе и продолжить выполнение в Фаре будет нельзя до закрытия всей сессии. Как обычно вобщем-то с этим .NET'ом любящим GUI-сообщения об ошибках... :/
Извините, но схренали? Сам .NET вообще никаких сообщений об ошибках не выводит. Их выводят программисты, у которых зачастую руки кривоваты.
Ы?

montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 7 times

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

Post by montonero » Wed 19 Dec, 2012 12:34

Ariman wrote:штучки 3-4 для экспериментов. Если с сопутствующими файлами msi, то ещё лучше.
Вот один, который я сделал для http://sourceforge.net/projects/sevenzi ... i/download (на самом деле трансформ можно применить к любому msi, если только он не настроен так, чтобы этому препятствовать). В нем есть почти все основные вещи, которые делают трансформы (замена, удаление, добавление).

И еще msi с полным комплектом пустых таблиц, на котором удобно смотреть, что же делает трансформ.
Attachments
empty_w_tables.msi.7z
(12.99 KiB) Downloaded 118 times
tr1.mst.7z
(1010 Bytes) Downloaded 129 times
"Far... Far never changes..."

Post Reply

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