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

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1295
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.
DV
Posts: 434
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 23 times
Been thanked: 15 times

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

Post by DV »

Latest post of the previous page:

А где бы взять необходимый и достаточный для Observer набор .dll файлов из Visual C++ 2017 Redist, чтобы кинуть их в папку с FAR и не зависеть от того, установлен ли Visual C++ 2017 Redist в системе?
Last edited by DV on Sat 11 Apr, 2020 22:31, edited 1 time in total.
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »


Итак, вопросы.
  1. Есть ли интерфейс для вызова функций плагина из макросов (вызовами типа Plugin.Call(op, file, params))? Если нет - можно ли доделать?
  2. Есть ли возможность:
    1. получить список файлов внутри конгломерата?
    2. распаковать один файл в указанное место?
    3. Удалить, заменить файл?
    -- Если пункта 2.a нету, то можно ли его доделать? Остальные пункты - не горят…
Last edited by buniak_a_h on Sun 12 Apr, 2020 02:56, edited 1 time in total.
Ariman
Posts: 1295
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

HaRT wrote: Sat 11 Apr, 2020 21:58 Не влечёт ли это за собой вычёркивание каких-то элементов списка «Хотелки/баги» в заглавном сообщении Темы?
Оказалось, один пункт есть. Обновил.
DV wrote: Sat 11 Apr, 2020 22:30 А где бы взять необходимый и достаточный для Observer набор .dll файлов из Visual C++ 2017 Redist, чтобы кинуть их в папку с FAR и не зависеть от того, установлен ли Visual C++ 2017 Redist в системе?
Без понятия, такие проблемы никогда не возникали. Самый очевидный способ - на системе с установленным redist-ом взять Dependency Walker, найти им полный список зависимостей и скопировать все эти файлы.
buniak_a_h wrote: Sun 12 Apr, 2020 02:55 Есть ли интерфейс для вызова функций плагина из макросов (вызовами типа Plugin.Call(op, file, params))? Если нет - можно ли доделать?
Поддержки макросов в плагине сейчас нет. Доделать, в принципе, можно. Но когда это будет. Добавлю в первый пост пока, в список хотелок.
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

Ariman wrote: Sun 12 Apr, 2020 07:55
buniak_a_h wrote: Sun 12 Apr, 2020 02:55 Есть ли интерфейс для вызова функций плагина из макросов (вызовами типа Plugin.Call(op, file, params))? Если нет - можно ли доделать?
Поддержки макросов в плагине сейчас нет. Доделать, в принципе, можно. Но когда это будет. Добавлю в первый пост пока, в список хотелок.
1. Спасибо за то, что не в игнор-лист, а в туду :-)
2. Там ещё пара моих хотелок, связанных с поддержкой макросов, но "не жёстко". Я имею в виду, что, может, есть возможность при вызове по префиксу из командной строки получить список вложений или вытащить файло куда-надоть? Как временная мера устроило бы…
DV
Posts: 434
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 23 times
Been thanked: 15 times

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

Post by DV »

Ariman wrote: Sun 12 Apr, 2020 07:55
DV wrote: Sat 11 Apr, 2020 22:30А где бы взять необходимый и достаточный для Observer набор .dll файлов из Visual C++ 2017 Redist, чтобы кинуть их в папку с FAR и не зависеть от того, установлен ли Visual C++ 2017 Redist в системе?
Без понятия, такие проблемы никогда не возникали. Самый очевидный способ - на системе с установленным redist-ом взять Dependency Walker, найти им полный список зависимостей и скопировать все эти файлы.
Получается примерно такой скромный .
Last edited by DV on Sun 12 Apr, 2020 12:24, edited 1 time in total.
Ariman
Posts: 1295
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

buniak_a_h wrote: Sun 12 Apr, 2020 08:02 есть возможность при вызове по префиксу из командной строки получить список вложений или вытащить файло куда-надоть? Как временная мера устроило бы…
Это нет. Кодить что с префиксом, что с макросами примерно одинаково. Какой тогда смысл тратить время на временные костыли.
DV wrote: Sun 12 Apr, 2020 12:23 Получается примерно такой скромный список.
Похоже на правду, хотя не факт, что там ещё чего-нибудь не потребуется. Всё-таки c++ redist не самая портабельная штука.
На случай, если Observer единственный плагин, кому эти файлы нужны, можно их в папку modules запихать. Чтобы не мусорить в корне Фара.
LAT
Posts: 326
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 19 times
Been thanked: 34 times

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

Post by LAT »

HaRT wrote: Sat 11 Apr, 2020 21:38
LAT wrote: Sat 11 Apr, 2020 21:23можно попросить прямую ссылку?
Ссылка в «шапке» Темы недостаточно прямая?
В ней отсутствует ключевое слово "гитхаб". Поэтому было не очевидно, что это ссылка на тот же файл.
Ariman wrote: Sat 11 Apr, 2020 21:48
LAT wrote: Sat 11 Apr, 2020 21:23В "анонсах" вроде бы ссылка только на исходники.
Если по ней пройти, то там достаточно несложно находятся бинарники в разделе Releases. Ну или можно, как заметил HaRT, воспользоваться ссылкой на последнюю сборку из шапки, там, в принципе, эквивалентные архивы лежат.
Спасибо. В Releases я заглянуть не догадался :(.
pepak
Posts: 518
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 13 times
Been thanked: 42 times

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

Post by pepak »

Uploaded InnoSetup plugin with support for Observer 1.12: viewtopic.php?f=39&t=9765
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

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

Post by Taciturn »

Observer 1.12.0 x64 — пытаемся открыть TeamViewer.dmg по Ctrl+PgDn или Enter, получаем ошибку, причём в GUI:

Code: Select all

---------------------------
VDISK Prepare Error
---------------------------
Attempt to read beyond end of stream
---------------------------
ОК   
---------------------------
И всё, файл не открывается нигде. В 1.11.2 он нормально открывался в ArcLite, VDISK не пытался делать странное.
Pasha_ZZZ
Posts: 148
Joined: Mon 12 Jun, 2006 14:58
Been thanked: 2 times
Contact:

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

Post by Pasha_ZZZ »

Taciturn wrote: Wed 29 Apr, 2020 09:38файл не открывается нигде
Ну почему же нигде? До сих пор открывается в ArcLite (F11 -> ArcLite -> Открыть архив).
Я у себя понизил приоритет Обсервера, чтобы он лез только когда другие открыть не смогли (переименовал 4Observer.dll в zObserver.dll)
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

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

Post by Taciturn »

Pasha_ZZZ, если понизить приоритет Observer'а, то перестанут автоматически открываться некоторые форматы, т.к. ArcLite будет открывать их как PE. И я не хочу, чтобы ArcLite перестал открывать как PE то, что ни может открыть никакой другой плагин. А вот если исправить баг в VDISK, то всё будет хорошо.
Ну и я же не спрашивал, как мне открыть dmg — я сообщал в проблеме с Observer'ом.
Last edited by Taciturn on Thu 30 Apr, 2020 22:33, edited 1 time in total.
Pasha_ZZZ
Posts: 148
Joined: Mon 12 Jun, 2006 14:58
Been thanked: 2 times
Contact:

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

Post by Pasha_ZZZ »

observer.ini:

Code: Select all

[VDISK]
DisplayErrorPopups=0
Так окошки хотя бы выскакивать не будут.
Ariman
Posts: 1295
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

Окошки, как справедливо заметил Pasha_ZZZ, можно убрать настройкой. А исправить открытие dmg я не смогу, этот формат обрабатывается сторонней либой. Как вариант, можно добавить расширение .dmg в игнор, чтобы плагин по Ctrl-PgDn не пробовал их открывать.
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

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

Post by Taciturn »

Ariman, видимо я что-то делаю не так, но не работает.
Кстати, а нельзя окошки vdisk'а переделать на стандартные, для Far'а, текстовые ошибки?
Attachments
observer.ini.zip
(760 Bytes) Downloaded 13 times
Pasha_ZZZ
Posts: 148
Joined: Mon 12 Jun, 2006 14:58
Been thanked: 2 times
Contact:

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

Post by Pasha_ZZZ »

Taciturn wrote: Fri 01 May, 2020 10:36но не работает.
IgnoreFilter должен быть в General, т.е. IgnoreFilter=*.tar;*.dmg
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

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

Post by Taciturn »

Pasha_ZZZ, да, так работает. Спасибо.
Post Reply

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