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

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

Post by Ariman »

Latest post of the previous page:

emusic wrote: Sat 15 Aug, 2020 13:16 Спасибо, msvcr100.dll и msvcp100.dll помогли. Только они от VS 2010, о чем написано в readme.
Эти файлы были актуальны для старых версий 1.11 и ниже. В 1.12 уже новый runtime, от VS 2017, о чем написано в требованиях по ссылке.
Taciturn wrote: Sun 16 Aug, 2020 05:50 Про VISE есть ответ, судя по всему верный ещё лет на 5-10:
Так и есть.
Некоторые модули и закончить не получается, и выкинуть жалко. В релиз не отправишь, а мутить схемы с разными конфигами лениво.
emusic
Posts: 63
Joined: Tue 26 Nov, 2013 06:39
Location: Новосибирск
Has thanked: 1 time
Been thanked: 1 time

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

Post by emusic »

Ariman wrote: Sun 16 Aug, 2020 06:56В 1.12 уже новый runtime, от VS 2017, о чем написано в требованиях по ссылке.
Я всегда беру с PlugRing, а там до сих пор 1.11.2. То, что по ссылке в шапке темы отдается 1.12, обнаружил только что. Похоже, для использования Observer нужно постоянно быть в теме, а просто взять и пользоваться не получается. :)

Кстати, в десятках в WinSxS есть msvcp140_clr0400.dll и vcruntime140_clr0400.dll, с соответствующими линками в System32/SysWOW64. Если сделать на них линки msvcp140.dll и vcruntime140.dll, то модули 1.12 с ними успешно работают. Возможно, если указать assembly через манифет, то будет работать из коробки.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

emusic wrote: Mon 17 Aug, 2020 11:26 Я всегда беру с PlugRing, а там до сих пор 1.11.2.
Plugring отказался принимать файлы у меня по какой-то причине. Пришлось так оставить.
emusic wrote: Mon 17 Aug, 2020 11:26 Кстати, в десятках в WinSxS есть msvcp140_clr0400.dll и vcruntime140_clr0400.dll, с соответствующими линками в System32/SysWOW64. Если сделать на них линки msvcp140.dll и vcruntime140.dll, то модули 1.12 с ними успешно работают. Возможно, если указать assembly через манифет, то будет работать из коробки.
Помимо этих двух файлов есть и другие в зависимостях. Надо просто VS2017 C++ Runtime поставить, и всё будет работать точно.
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 »

Maximus5 wrote: Fri 16 Oct, 2020 22:11 Пересобрал dir.so если кому надо
https://github.com/Maximus5/FarPlugins/ ... so-3.0.0.6
Спасибо. А для какой это версии плагина?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

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

Post by Maximus5 »

HaRT wrote: Fri 16 Oct, 2020 22:19 Спасибо. А для какой это версии плагина?
для 1.12
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 »

Maximus5 wrote: Fri 16 Oct, 2020 22:11 Пересобрал dir.so если кому надо
https://github.com/Maximus5/FarPlugins/ ... so-3.0.0.6
@Ariman, подправьте, пожалуйста, шапку темы в части, касающейся этого модуля.
Фар есть инструмент, а не нянька. © 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
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

Ariman!
Я прошу прощения, если такие вопросы уже задавались, но сейчас обсуждение занимает 137 страниц, все не просмотреть…
Вопросы касаются выполнения из LUA-скрипта.
  1. Есть ли возможность не распаковать контейнер, а получить список содержимого?
  2. Работает ли переход на папку внутри контейнера через функцию panel.SetPanelDirectory?
    Эксплуатация показала, что работает. Вопрос снимается
    Зачем мне это надо:
    Я когда-то написал панельный модуль для представления структуры каталога (в т.ч. и упакованного в архив) в виде дерева. Увы, ограничение то же самое - возможность получения списка вложения по 7z. Наверно, было бы полезно также получать список от observer-а.
    Если (1)-го нету, но в планах стоит реализовать, то было бы неплохо, чтоб в списке были бы отражены размеры, дата последней модификации, атрибуты (d и h). Остальное меня лично не интересует.
  3. Можно ли вызвать функции observer-а через вызовы Plugin.Call, Plugin.Menu и Plugin.Command? В документации я этого не нашёл, а просто вызов observer-а из меню плагинов выводит вторичное меню - хотелось бы этого избежать.
Last edited by buniak_a_h on Thu 29 Oct, 2020 05:43, edited 2 times in total.
Zzzz
Posts: 108
Joined: Sat 13 Oct, 2007 10:12
Been thanked: 1 time

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

Post by Zzzz »

Observer_Far3_x86_1.12.1.7z
В комплектном конфиге прописаны отсутствующие модули и при первой попытке открыть архив появляется окошко без упоминания Обсервера:
╔═══════════════════ Loading Error ════════════════════╗ ║ Some modules failed to load ║ ║ PDB ║ ║ Не найден указанный модуль. ║ ║ VISE ║ ║ Не найден указанный модуль. ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╟──────────────────────────────────────────────────────╢ ║ { OK } ║ ╚══════════════════════════════════════════════════════╝
W7U SP1 x64
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

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

Post by Taciturn »

Zzzz, см. предыдущую страницу, viewtopic.php?p=161869#p161869.
Last edited by Taciturn on Thu 29 Oct, 2020 10:51, edited 1 time in total.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Zzzz wrote: Wed 28 Oct, 2020 21:39 появляется окошко без упоминания Обсервера
Кхе-кхе
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

buniak_a_h wrote: Sun 18 Oct, 2020 22:50 Есть ли возможность не распаковать контейнер, а получить список содержимого?
Понятия не имею. Плагин экспортирует стандартные функции API, но чем из этого позволяет пользоваться LUA я не знаю.
buniak_a_h wrote: Sun 18 Oct, 2020 22:50 Можно ли вызвать функции observer-а через вызовы Plugin.Call, Plugin.Menu и Plugin.Command?
Нет. Такой фичи пока нет. Когда-нибудь появится.
Zzzz wrote: Wed 28 Oct, 2020 21:39 Observer_Far3_x86_1.12.1.7z
В комплектном конфиге прописаны отсутствующие модули и при первой попытке открыть архив появляется окошко без упоминания Обсервера:
В конфиге из поставки это окно отключено. Зачем было его включать, а потом пугаться?

Претензии по виду окна принимаются, сделаю понятнее.
Zzzz
Posts: 108
Joined: Sat 13 Oct, 2007 10:12
Been thanked: 1 time

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

Post by Zzzz »

Я не помню, когда прописал в observer_user.ini "VerboseModuleLoad=1" :-D
Но раньше не было этого окошка.
W7U SP1 x64
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

Ariman wrote: Fri 30 Oct, 2020 08:13
buniak_a_h wrote: Sun 18 Oct, 2020 22:50 Есть ли возможность не распаковать контейнер, а получить список содержимого?
Понятия не имею. Плагин экспортирует стандартные функции API, но чем из этого позволяет пользоваться LUA я не знаю.
В "стандартных функциях API" такая функция есть без сомнения. Вы её используете, когда составляете список файлов для панели (в функции GetFindDataW, наверное). Вопрос в том, экспортирует ли Ваш плагин результаты по какой-нить команде (хотя бы из командной строки)
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Плагин экспортирует GetFindDataW, стандартную функцию плагинового API. Другие варианты экспорта списка файлов отсутствуют.
Post Reply

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