MultiArc: archive support plugin — модуль работы с архивами

Здесь можно обсудить ваш любимый плагин.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by HaRT »

Latest post of the previous page:

Stalker4, плагины для Фар 1.75 работают в Фар 3 — разумеется, битность (32/64) должна совпадать.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Stalker4
Posts: 23
Joined: Fri 28 Oct, 2016 13:23

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Stalker4 »

HaRT wrote: плагины для Фар 1.75 работают в Фар 3 — разумеется, битность (32/64) должна совпадать.
Скачал, поставил.
Есть небольшой вопрос: Как можно совместить работу arclite и multiarc, что бы первый только распаковывал rar, а второй только упаковывал rar ?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Ariman »

Stalker4, можно отключить в настройках arclite создание архивов по Shift-F1. Тогда на эту комбинацию будет реагировать multiarc.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Smitis »

А для быстрого переключения ArcLite <> MultiArc находясь внутри архива, можно воспользоваться макросом (если, например, вошли в архив через ArcLite, а затем понадобилось что-то записать в архив):
  1. local ARCLITE_ID = win.Uuid("65642111-AA69-4B84-B4B8-9249579EC4FA")
  2.  
  3. local MULTIARC_ID = win.Uuid("C5508DDB-5175-4736-9A10-C8F6EED7B32F")
  4.  
  5. Macro { -- Переключение ArcLite <--> MultiArc для RAR-архивов
  6.  
  7.     description="Arcs: Switch between ArcLite/MultiArc";
  8.  
  9.     area="Shell Search";
  10.  
  11.     key="AltShiftA ShiftF1";
  12.  
  13.     condition=function()
  14.  
  15.         local pluginid = panel.GetPanelDirectory(nil,1).PluginId
  16.  
  17.         return pluginid == ARCLITE_ID or pluginid == MULTIARC_ID
  18.  
  19.     end;
  20.  
  21.     action=function()
  22.  
  23.         if Area.Search then Keys "Esc" end
  24.  
  25.         -- ArcLite имеет заголовок панели вида arclite:Rar:test.rar, а MultiArc - RAR:test.rar
  26.  
  27.         if Object.Title:sub(1,12)=="arclite:Rar:" or Object.Title:sub(1,4)=="RAR:" then
  28.  
  29.             local dir = panel.GetPanelDirectory(nil,1)
  30.  
  31.             local inf = panel.GetPanelInfo(nil,1)
  32.  
  33.             local selected = APanel.Selected
  34.  
  35.             mf.clip(5,2) -- для сохранения выделения через буфер
  36.  
  37.             if selected then
  38.  
  39.                 Keys "CtrlShiftIns"
  40.  
  41.             end
  42.  
  43.             dir.PluginId = dir.PluginId==ARCLITE_ID and MULTIARC_ID or ARCLITE_ID
  44.  
  45.             if panel.SetPanelDirectory(nil,1,dir) then
  46.  
  47.                 -- Позиционируем курсор так, чтобы не только текущий файл был тот же, но и его положение было то же самое
  48.  
  49.                 Panel.SetPosIdx(0,-1)
  50.  
  51.                 Panel.SetPosIdx(0,inf.TopPanelItem)
  52.  
  53.                 Panel.SetPosIdx(0,inf.CurrentItem)
  54.  
  55.                 if selected then
  56.  
  57.                     Panel.Select(0,1,2,mf.clip(0))
  58.  
  59.                 end
  60.  
  61.             end
  62.  
  63.         end
  64.  
  65.     end;
  66.  
  67. }
Разум когда-нибудь победит.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Shmuel »

Smitis, здесь имеет смысл ARCLITE_ID и MULTIARC_ID сразу определять через win.Uuid("...."), тогда в макросе не потребуется ни win.Uuid(), ни upper().
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Smitis »

Да, тут есть место для оптимизации, например, убрать проверку ID плагинов в action, т.к. это сделано уже в condition. Просто этот макрос вырван из скрипта с другими макросами.
Подправил.
И ещё раз.
Разум когда-нибудь победит.
Stalker4
Posts: 23
Joined: Fri 28 Oct, 2016 13:23

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Stalker4 »

Smitis, Большое спасибо за скрипт. Пока это ИМНО самый удобный вариант вариант совмещения ArcLite и MultiArc.
Жаль, что MultiArc так и не перевели на Unicode, тогда можно было бы вообще отказаться от ArcLite.

Интересно, а тут на форуме есть разработчики ArcLite ? А то я бы хотел им написать предложение по добавлению исключения из обработки по формату архива отдельно для упаковки и распаковки ...
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by zg »

а в каком месте вы предлагаете использовать исключения для упаковки?
Stalker4
Posts: 23
Joined: Fri 28 Oct, 2016 13:23

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Stalker4 »

zg wrote: а в каком месте вы предлагаете использовать исключения для упаковки?
Например в обшем случае в ArcLite делаем настройку, в виде таблицы которой перечислены форматы поддерживаемых архивов и два CheckBox'а "распаковка" и "упаковка". На строке "RAR" я снимаю галочку в колонке "упаковка". И после этого когда я пробую через Far добавить в rar-архив файл, то ArcLite игнорирует это действие, передавая тем самым возможность упаковки другим плагинам, например MultiArc.

Хотя как вариант, можно вообще без настройки встроить в Arclite игнорирование обработки упаковки в rar и даже сделать прямую (прозрачную) передачу в MultiArc (если он есть в системе).

Опять же в Arclite можно было бы встроить поддержку системы fmt-субплагинов (как MultiArc), которая бы использовалась для поддержки действий с архивами, которые не умеет сам Arclite (7z.dll)
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by zg »

Stalker4 wrote:И после этого когда я пробую через Far добавить в rar-архив файл, то ArcLite игнорирует это действие, передавая тем самым возможность упаковки другим плагинам, например MultiArc.
это фантазии. на панели открыт конкретный плагин, ничего он никому передать не может.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by HaRT »

zg wrote: на панели открыт конкретный плагин, ничего он никому передать не может
Я так понимаю, что предложение Stalker4 относится к упаковке по ShiftF1 из панели c реальными путями.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by zg »

HaRT wrote:Я так понимаю, что предложение Stalker4 относится к упаковке по ShiftF1 из панели c реальными путями.
и в чём тогда вопрос?

Code: Select all

╔═ Plugin selection ══╗
║  arclite            ║
║  MultiArc           ║
╚═════════════════════╝
Stalker4
Posts: 23
Joined: Fri 28 Oct, 2016 13:23

MultiArc: Archive support plugin — Модуль работы с архивами

Post by Stalker4 »

HaRT wrote: Я так понимаю, что предложение Stalker4 относится к упаковке по ShiftF1 из панели c реальными путями.
Честно говоря добавлением в архив в Far через ShiftF1 я почти не пользуюсь. Обычно, когда я через Far добавляю файл в архив, то на одной панели у меня открытый архив, а на другой панели (активной) файл и я находясь на файле жму F5 или F6.

Вообще то на мой взгляд наиболее правильным был бы вариант
В Arclite можно было бы встроить поддержку системы fmt-субплагинов (как MultiArc), которая бы использовалась для поддержки действий с архивами, которые не умеет сам Arclite (7z.dll)
iG0Lka
Posts: 3
Joined: Mon 13 Mar, 2017 04:04

MultiArc: Archive support plugin — Модуль работы с архивами

Post by iG0Lka »

Здравствуйте.

Windows 10
Far 3.0.4900
Rar 5.20

У меня почемуто плагин при создании архива по Shift+F1 не добавляет в архив папки на русском языке.
Например при добавлении папки с именем "Прошивки"
Выдает : "архиватор вернул код завершения 6"

Если посмотреть окно консоли то там следущее:

Code: Select all

RAR 5.20   Copyright (c) 1993-2014 Alexander Roshal   2 Dec 2014
Cannot open Џа®иЁўЄЁ
Не удается найти указанный файл.
Creating archive 1.rar

Adding    tt                                                          OK
Done
Это както лечится?
User avatar
abelenki
Posts: 501
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 174 times
Been thanked: 23 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by abelenki »

MultiArc не поддерживает Unicode.
iG0Lka
Posts: 3
Joined: Mon 13 Mar, 2017 04:04

MultiArc: Archive support plugin — Модуль работы с архивами

Post by iG0Lka »

и какой выход?
Вроде раньше проблемы не было...
Попробовал консольной командой rar a -r - все запоковалось без проблем.

Вместо MultiArc можно чтото другое привязать?
Post Reply

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