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.
ivank
Posts: 151
Joined: Fri 08 Aug, 2008 16:14
Has thanked: 3 times
Been thanked: 4 times
Contact:

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

Post by ivank »

Latest post of the previous page:

Ariman wrote: Mon 02 Oct, 2017 09:03Файл ... от юникодной версии nsis-а, а их текущий модуль не поддерживает.
Столкнулся с невозможноостью распаковать 64-битный nsis: https://sourceforge.net/projects/avidem ... mux/2.7.4/
avidemux_2.7.4_win32.exe - распаковывается нормально, Avidemux_2.7.5 VC++ 64bits .exe - не распаковывается.
Far30b5465.x64, Observer_x64_1.11.2, msvcp100.dll и msvcr100.dll - x64 10.0.30319.1.
7z тоже не может x64-версию распаковать.
Я правильно понимаю, что nsis-x64 пока не поддерживается? Есть ли планы по добавлению такой поддержки?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

ivank wrote: Sat 12 Oct, 2019 08:51 Я правильно понимаю, что nsis-x64 пока не поддерживается? Есть ли планы по добавлению такой поддержки?
Observer использует код из 7zip-а, поэтому список поддерживаемых версий будет одинаковым. Если в 7zip чего добавят, то и тут появится. Планов самому ковыряться в формате пока нет.
Pasha_ZZZ
Posts: 425
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

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

Post by Pasha_ZZZ »

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: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

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

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

Post by SEt »

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

Но и эту проблему, и предыдущую с PrepareFiles можно было бы легко решить, если не делать двойного вызова OpenStorage. Если модуль вернул, что он понимает формат, то нельзя ли его подержать в открытом виде, а не вызывать сразу CloseStorage? В таком случае, возможно, PrepareFiles и вообще не нужно.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post 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 вернули, что файл поддерживается, то не факт, что потом пользователь откроет данный файл именно этим плагином.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

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

Post by LAT »

Скачал файл 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: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

LAT wrote: Mon 11 Nov, 2019 21:46 Столь суровый вид связан с отсутствием поддержки юникода
Если открывал в версии 1.11, то да. В 1.12 должно выглядеть красиво.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

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

Post by LAT »

Спасибо, в 1.12 (на плагринге отсутствует, брал здесь: https://ci.appveyor.com/project/lazyham ... /artifacts) вид нормальный. А подскажите еще, новые версии плагина нужно брать на этом сайте, или же эта версия в процессе разработки (поэтому не выкладывалась на плагринг)?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Когда будет релиз, то он будет выложен на плагринг, как и раньше. На appveyor-е сборки для желающих пользоваться новой версией, несмотря на известные недостатки.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Настроил выкладку текущей сборки на Bintray. Файлы на appveyor-е хранятся не долго, да и интерфейс не совсем для скачки файлов. Заливается файлы с последнего успешного билда. Ссылка в первом посте.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

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

Post by LAT »

В папке с Outlook-овскими ost- и pst-файлами большого размера запускаю поиск (Alt+F7) с установленным чекбоксом "Искать в архивах". Начинается поиск. Нажимаю Esc (или клацаю кнопку "Стоп"), выскакивает диалог "Вы действительно хотите отменить действие?". Нажимаю "Да" - но поиск не прекращается. При нажатии "Новый поиск" вообще все виснет.
FAR 3.0.5545x86, Observer 1.12.0.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Я не совсем уверен, что это проблема плагина. Поиск то Фар сам делает.
Пачки больших файлов от аутлука у меня нет, проверил на каталоги с iso-шками. Вроде не виснет ничего. Отмена поиска подлагивает существенно, но я слабо представляю, что тут может плагин сделать.
yurikus
Posts: 6
Joined: Sun 27 Nov, 2011 09:42

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

Post by yurikus »

Добрый день, что-то случилось с распаковкой msi. Первый файл видит как дерево файлов/каталогов, второй - отказывается открывать.

1: хттпс://snapshots{точка}elastic{точка}co/7.6.0-95186515/downloads/beats/winlogbeat/winlogbeat-7.6.0-SNAPSHOT-windows-x86_64.msi
2: хттпс://snapshots{точка}elastic{точка}co/7.7.0-848584f5/downloads/beats/winlogbeat/winlogbeat-7.7.0-SNAPSHOT-windows-x86_64.msi

Хотелось бы понять в чем дело.
Спасибо!
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

yurikus wrote: Thu 23 Jan, 2020 13:43 что-то случилось с распаковкой msi
В какой самой ранней сборке сломалось? В какой самой поздней было ещё всё в порядке?
Фар есть инструмент, а не нянька. © 2009 DrKnS
yurikus
Posts: 6
Joined: Sun 27 Nov, 2011 09:42

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

Post by yurikus »

HaRT wrote: Thu 23 Jan, 2020 13:45 В какой самой ранней сборке сломалось? В какой самой поздней было ещё всё в порядке?
Заметил в 1.11, взял самую последнюю 1.12 со ссылки в первом сообщении. Правильнее было бы спросить: в чём проблема с файлом 7.7.0-848584f5, т.к. 7.6.0-95186515 открывается. Прошу прощения за неточность.
Post Reply

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