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

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1257
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).

Скачать последнюю сборку
Last edited by Ariman on Tue 26 Nov, 2019 11:25, edited 1 time in total.

Pasha_ZZZ
Posts: 91
Joined: Mon 12 Jun, 2006 14:58
Contact:

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

Post by Pasha_ZZZ » Thu 17 Oct, 2019 06:07

Latest post of the previous page:

ivank wrote:
Sat 12 Oct, 2019 08:51
Я правильно понимаю, что nsis-x64 пока не поддерживается?
Неправильно. Нет там никакого NSIS x64, как и NSIS в общем.

Code: Select all

Qt Installer  v2.0.0 - 3.0.x - 2018.12.11 - www.qt.io  - stub : Microsoft Visual C++ v.12 - 2013 ( E8 MZ-PE ) www.microsoft.com - no sec. CAB/7z/Zip [ Win Vista ] , 
Overlay :  -> .rcc file - Qt Resources ( Binary Data ) - http://qt-project.org

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

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

Post by Ariman » Mon 28 Oct, 2019 09:32

SEt wrote:
Thu 03 Oct, 2019 15:50
Но если что-то пойдёт не так, то мне хотелось бы, чтобы он тихо отвалился и передал файл дальше. В крайнем случае, громко отвалился, но всё равно передал файл дальше.
Поковырялся с своем коде, чтобы вспомнить что там и как. Если PrepareFiles возвращает false, то OpenW вернет NULL, точно так же, как если обломился OpenStorage. Только дополнительно обругавшись при этом.
По идее, Far, если бы хотел, то мог бы передать файл дальше по цепочке. Но, если я правильно понял текст писания, то OpenW получает только один плагин, который был выбран после AnalizeW. И передавать файл некому. Но тут нужны эксперты по внутренностям Фара.

SEt
Posts: 462
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 21 times

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

Post by SEt » Mon 28 Oct, 2019 14:48

Ещё одно замечание про текущий интерфейс:
Ariman wrote:
Sat 28 Sep, 2019 08:16
SEt wrote:
Thu 26 Sep, 2019 17:27
2) В OpenStorage полезно было бы дать небольшой кусок начала файла, чтобы модуль мог легко и быстро проверить тип файла по сигнатуре, если она есть для данного формата.
2) Это уже реализовано.
Оно реализовано, но не очень: params.Data когда есть, а когда и нет. В частности, при типичном двойном вызове OpenStorage: первый раз есть, а второй раз нет.

Но и эту проблему, и предыдущую с PrepareFiles можно было бы легко решить, если не делать двойного вызова OpenStorage. Если модуль вернул, что он понимает формат, то нельзя ли его подержать в открытом виде, а не вызывать сразу CloseStorage? В таком случае, возможно, PrepareFiles и вообще не нужно.

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

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

Post by Ariman » Mon 28 Oct, 2019 15:31

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 вернули, что файл поддерживается, то не факт, что потом пользователь откроет данный файл именно этим плагином.

LAT
Posts: 253
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 10 times
Been thanked: 17 times

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

Post by LAT » Mon 11 Nov, 2019 21:46

Скачал файл http://releases.llvm.org/9.0.0/LLVM-9.0.0-win32.exe (брал: отсюда: http://releases.llvm.org/download.html#git). При входе через arclite все выглядит хорошо:

При открытии Observer-ом выглядит приблизительно так (символы с кодами 0x2, 0x3, 0x17 не отображаются в форме):

Столь суровый вид связан с отсутствием поддержки юникода (viewtopic.php?f=5&t=4644&p=146123&hilit=nsis#p146123) ?

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

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

Post by Ariman » Tue 12 Nov, 2019 07:36

LAT wrote:
Mon 11 Nov, 2019 21:46
Столь суровый вид связан с отсутствием поддержки юникода
Если открывал в версии 1.11, то да. В 1.12 должно выглядеть красиво.

LAT
Posts: 253
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 10 times
Been thanked: 17 times

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

Post by LAT » Thu 14 Nov, 2019 10:01

Спасибо, в 1.12 (на плагринге отсутствует, брал здесь: https://ci.appveyor.com/project/lazyham ... /artifacts) вид нормальный. А подскажите еще, новые версии плагина нужно брать на этом сайте, или же эта версия в процессе разработки (поэтому не выкладывалась на плагринг)?

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

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

Post by Ariman » Thu 14 Nov, 2019 12:46

Когда будет релиз, то он будет выложен на плагринг, как и раньше. На appveyor-е сборки для желающих пользоваться новой версией, несмотря на известные недостатки.

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

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

Post by Ariman » Tue 26 Nov, 2019 11:29

Настроил выкладку текущей сборки на Bintray. Файлы на appveyor-е хранятся не долго, да и интерфейс не совсем для скачки файлов. Заливается файлы с последнего успешного билда. Ссылка в первом посте.

Post Reply

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