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

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

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

Post by Ariman »

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

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

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

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

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


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива. На версии 1.10 (и новее) работать не будет в связи с изменением API модулей.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Скачать последнюю сборку
Last edited by Ariman on Sun 12 Apr, 2020 07:57, edited 3 times in total.

DV
Posts: 416
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 18 times
Been thanked: 14 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: 1877
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 167 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: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 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: 1877
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 167 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: 416
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 18 times
Been thanked: 14 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: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 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: 314
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: 469
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 10 times
Been thanked: 34 times

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

Post by pepak »

Uploaded InnoSetup plugin with support for Observer 1.12: viewtopic.php?f=39&t=9765

User avatar
Taciturn
Posts: 419
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 33 times
Been thanked: 11 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: 122
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: 419
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 33 times
Been thanked: 11 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: 122
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: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Окошки, как справедливо заметил Pasha_ZZZ, можно убрать настройкой. А исправить открытие dmg я не смогу, этот формат обрабатывается сторонней либой. Как вариант, можно добавить расширение .dmg в игнор, чтобы плагин по Ctrl-PgDn не пробовал их открывать.

User avatar
Taciturn
Posts: 419
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 33 times
Been thanked: 11 times
Contact:

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

Post by Taciturn »

Ariman, видимо я что-то делаю не так, но не работает.
Кстати, а нельзя окошки vdisk'а переделать на стандартные, для Far'а, текстовые ошибки?
Attachments
observer.ini.zip
(760 Bytes) Downloaded 7 times

Pasha_ZZZ
Posts: 122
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: 419
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 33 times
Been thanked: 11 times
Contact:

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

Post by Taciturn »

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

Post Reply

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