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

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

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

Post by Ariman »

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

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

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

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

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


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Скачать последнюю сборку
Last edited by Ariman on Sun 18 Oct, 2020 19:56, edited 4 times in total.
Ariman
Posts: 1292
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 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: 42
Joined: Tue 26 Nov, 2013 06:39
Location: Новосибирск
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: 1292
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 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: 9558
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 111 times
Been thanked: 232 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: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

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

Post by Maximus5 »

HaRT wrote: Fri 16 Oct, 2020 22:19 Спасибо. А для какой это версии плагина?
для 1.12
User avatar
HaRT
Moderator
Posts: 9558
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 111 times
Been thanked: 232 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: 1292
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

Поправил.
buniak_a_h
Posts: 2091
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 207 times
Contact:

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

Post by buniak_a_h »

Ariman!
Я прошу прощения, если такие вопросы уже задавались, но сейчас обсуждение занимает 137 страниц, все не просмотреть…
Вопросы касаются выполнения из LUA-скрипта.
  1. Есть ли возможность не распаковать контейнер, а получить список содержимого?
  2. Работает ли переход на папку внутри контейнера через функцию panel.SetPanelDirectory?
    Зачем мне это надо:
    Я когда-то написал скрипт для перехода по папкам по клику на заголовке панели. Фишка оказалась реально удобной. По просьбам участников конференции я сделал такое же для перехода по папкам внутри архива. Но есть ограничение: требуется список файлов/папок. Для тех контейнеров, список вложения в которых может сформировать 7z, я реализовал. Но хотят иметь аналогичный функционал для ISO и MSI, т.е. те для тех контейнеров, которые открываются Вашим плагином. Можно, конечно, симулировать создание такого списка посредством keystroke переходами "внутрь папок" и перебором всех папок с рекурсией, но (а) делать такое каждый раз - получится долго и (б) если есть интерфейс, то зачем? Сама такая возможность есть наверняка - раз Вы формируете содержимое панели…
    Кроме скрипта для перехода по клику я написал панельный модуль для представления структуры каталога (в т.ч. и упакованного в архив) в виде дерева. Увы, ограничение то же самое - возможность получения списка вложения по 7z. Наверно, было бы полезно также получать список от observer-а.
    Если (1)-го нету, но в планах стоит реализовать, то было бы неплохо, чтоб в списке были бы отражены размеры, дата последней модификации, атрибуты (d и h). Остальное меня лично не интересует.
  3. Можно ли вызвать функции observer-а через вызовы Plugin.Call, Plugin.Menu и Plugin.Command? В документации я этого не нашёл, а просто вызов observer-а из меню плагинов выводит вторичное меню - хотелось бы этого избежать.
Post Reply

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