arclite — работа с архивами на основе 7-Zip

Здесь можно обсудить ваш любимый плагин.
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

Тема для обсуждения arclite — нового альтернативного плагина архиватора 7-Zip для Far.
("Старый" плагин 7zipalt обсуждается в прежней теме.)

Внимание:
Начиная с билда 1762 плагин входит в комплект поставки юникодной версии FAR'а, заменяя собой Multiarc.
В arclite не реализованы некоторые функции, присутствовавшие в Multiarc, в частности упаковка в RAR.

Обсуждение: arclite вместо MultiArc в комплекте Far 2











Кодек LZHAM
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

Latest post of the previous page:

HaRT wrote: Но вот это надо править в коде: ...
b234
Arama
Posts: 121
Joined: Mon 01 Jun, 2015 12:14
Has thanked: 8 times
Been thanked: 4 times

arclite — работа с архивами на основе 7-Zip

Post by Arama »

При входе в архив с огромным количеством файлов (несколько тысяч), если прервать операцию по начитке списка файлов, то FAR тоже вызывает WinRAR зачем то.
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

arclite — работа с архивами на основе 7-Zip

Post by HaRT »

2useven10 wrote: патч был бы лучше
Вот:
  1. --- C:\Program Files (x86)\Far Manager\Plugins\ArcLite\arclite_eng.lng
  2.  
  3. +++ arclite_eng.lng Tue Apr 05 20:30:36 2016
  4.  
  5. @@ -144,11 +144,11 @@
  6.  
  7.  "Updating archive..."
  8.  
  9.  "Compression ratio"
  10.  
  11.  "Directory count"
  12.  
  13. -"No"
  14.  
  15. +"&No"
  16.  
  17.  "File count"
  18.  
  19.  "Packed size"
  20.  
  21.  "Data size"
  22.  
  23. -"Yes"
  24.  
  25. +"&Yes"
  26.  
  27.  "Active"
  28.  
  29.  "&ANSI Codepage:"
  30.  
  31.  "Default &masks"
  32.  
  33. @@ -220,11 +220,11 @@
  34.  
  35.  "Target file already exists. Do you want to overwrite it?"
  36.  
  37.  "Do you want to delete selected profile?"
  38.  
  39.  "Create self-e&xtracting archive"
  40.  
  41. -"Delete"
  42.  
  43. +"Delete (&-)"
  44.  
  45.  "Use &filter"
  46.  
  47.  "Split into &volumes"
  48.  
  49.  "&Encrypt archive"
  50.  
  51. -"Encrypt header"
  52.  
  53. +"Encr&ypt header"
  54.  
  55.  "&Ignore errors"
  56.  
  57.  "Input profile name"
  58.  
  59.  "Compression &level:"
  60.  
  61. @@ -237,20 +237,20 @@
  62.  
  63.  "Archive files open for w&riting"
  64.  
  65.  "Settings saved"
  66.  
  67.  "Pass&word:"
  68.  
  69. -"Repeat:"
  70.  
  71. +"Repeat (&=):"
  72.  
  73.  "Passwords don't match"
  74.  
  75.  "Password is empty"
  76.  
  77.  "&Profile:"
  78.  
  79. -"Save settings"
  80.  
  81. -"Save"
  82.  
  83. +"&Save settings"
  84.  
  85. +"Save (&')"
  86.  
  87.  "Selected SFX module does not support encryption"
  88.  
  89.  "Selected SFX module does not support PPMD compression"
  90.  
  91. -"SFX options"
  92.  
  93. -"Show password"
  94.  
  95. +"SFX options&..."
  96.  
  97. +"Show password (&\)"
  98.  
  99.  "S&olid"
  100.  
  101.  "Add files to archive"
  102.  
  103.  "Create archive"
  104.  
  105. -"Volume size:"
  106.  
  107. +"Volume size (&/):"
  108.  
  109.  "Select archive format"
  110.  
  111.  "Select compression level"
  112.  
  113.  "Select compression method"
Только почему-то Yes/No в запросе на удаление пресета всё равно без мнемоник, хоть других Yes/No я среди строк и не нашёл.
Фар есть инструмент, а не нянька. © 2009 DrKnS
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

HaRT wrote: Вот:
1) Патчить лучше сорсы: https://sourceforge.net/p/farmanager/co ... ite/en.msg
2) На мой вкус слишком много лишних символов, до атрибуции конечно далеко,
но (\) мне (=) не (-) нравятся (') такие (/) хоткеи (...)

Поэтому лучше нарисуйте виш на кастомизацию языковых файлов плагина.
User avatar
zespri
Posts: 50
Joined: Sat 08 May, 2010 22:39
Location: Auckland, New Zealand
Been thanked: 1 time

arclite — работа с архивами на основе 7-Zip

Post by zespri »

2useven10 wrote: Если нужно, могу дать мой .vcxproj для сборки 7z.dll в студиях 2010-2015
update: он уже есть в сорсах arclite: 7z\src\CPP\7zip\Bundles\Format7zF\Format7z.vcxproj
Это 7z.dll. Если есть такое же для 7z.exe буду благодарен, потому что пока мне заставить проект компилироваться не удалось (компилирует только из command line). А "интересный" код именнр в 7z.exe, так как именно там парсится контейнер. У меня такое впечатление, что несовпадающая длина приходит именно оттуда. К сожалению в контейнере список файлов и другие метаданные (включая длины) тоже упакованы, так что бинарный редактор не помог. Надо проходить этот код в отладчике.
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

zespri wrote: Если есть такое же для 7z.exe
Attachments
Console.7z
(4.6 KiB) Downloaded 100 times
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

Но скорее всего 'лишние' байты просто из-за того что последние байты файла в solid архиве пакуются в одном блоке с первыми байтами следующего файла. Т.е. вряд ли это ошибка.
User avatar
zespri
Posts: 50
Joined: Sat 08 May, 2010 22:39
Location: Auckland, New Zealand
Been thanked: 1 time

arclite — работа с архивами на основе 7-Zip

Post by zespri »

Спасибо. Короче всё правильно, и Ваш фикс тоже правильный. Такое происходит потому что 7z упаковывает несколько файлов в один и тот же поток сжатия. Соответственно при разжатии, если из потока читается достаточно что бы извлечь тот файл который попросили но LZHAM_DECOMP_STATUS_SUCCESS не возвращается, потому что в потоке есть еще данные других файлов. Соответсвенно, надо определять этот случай и выпадать из цикла, если такое происходит. Что Вы и сделали. Спасибо за pull request и за всё остальное, исправление кодека останется на совести автора. Дело закрыто. ;)
KPAH
Posts: 5
Joined: Tue 05 Apr, 2016 08:31

arclite — работа с архивами на основе 7-Zip

Post by KPAH »

undefined wrote: Параметра такого нет.
Но, как мне кажется, временные файлы должны создаваться в каталоге выходного архива, а не в %TMP%.
вы меня немного не так поняли. интересует не столько упаковка, сколько распаковка файлов. фар у меня портативный (профиль в папке фара), часто использую с флешки. есть несколько запароленных rar'ов и 7zip с текстовыми файлами с секретной информацией. когда нужно что-то посмотреть, я захожу внутрь архива, нажимею F3/f4 и ввозу пароль, файл открывается. проблема в том что файл при этом распаковывается в пользовательский temp согласно переменным среды. т.е. я флешку вытащил и ушел, а в темпах остался .txt с секретной инфой.
С очисткой темпа сразу по выхода из файла проблема не решится никогда, поэтому хотелось бы чтобы arclite уважал настройку темповой папки которая есть в 7zip? в своем конфиге или конфиге профиля. Тогда бы темповую папку для фар я бы сделал на флешке же или еще где-нибудь.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

arclite — работа с архивами на основе 7-Zip

Post by zg »

KPAH wrote:проблема в том что файл при этом распаковывается в пользовательский temp согласно переменным среды. т.е. я флешку вытащил и ушел, а в темпах остался .txt с секретной инфой.
причём тут arclite? раз у вас фар портабельный, что вам мешает при старте настроить temp туда, куда нужно вам?
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

KPAH wrote: захожу внутрь архива, нажимею F3/f4 ...
Тут действительно используются виндовые GetTempPath() GetTempFileName().
Но, zg прав, их поведение можно настроить через переменные окружения...
KPAH
Posts: 5
Joined: Tue 05 Apr, 2016 08:31

arclite — работа с архивами на основе 7-Zip

Post by KPAH »

undefined wrote: Но, zg прав, их поведение можно настроить через переменные окружения...
я бы с удовольствием, но как это сделать?
в Far.exe.ini такого параметра не наблюдается.
нашел только черезпопный способ из другой темы с участием zg - http://forum.farmanager.com/viewtopic.p ... 79#p121779
мне также поступить или есть какой-то более элегантный способ?
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 »

Можно просто запускать фар через
tstr
Posts: 559
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

arclite — работа с архивами на основе 7-Zip

Post by tstr »

можно изменить переменные после старта ФАР, наприм. добавив такие строки к %FARPROFILE%\Macros\scripts\_macroinit.lua :
  1. win.SetEnv("TEMP", win.GetEnv('FARHOME')..'\\tmp')
  2.  
  3.   win.SetEnv("TMP", win.GetEnv('FARHOME')..'\\tmp')
для arclite достаточно последней.
KPAH
Posts: 5
Joined: Tue 05 Apr, 2016 08:31

arclite — работа с архивами на основе 7-Zip

Post by KPAH »

undefined wrote: _macroinit.lua
такого не было, создал с этим строками, теперь темпы ложатся в \tmp в директории с фаром.
гран мерси!
tyrex
Posts: 41
Joined: Fri 17 Jul, 2009 08:14

Пакетная работа с архивами - нид хелп

Post by tyrex »

Подскажите, как можно протестировать несколько сотен выделенных архивов?
Выделяю файлы, нажимаю Shift+F3 (Arc Cmd) -> выбираю Test archive files (Arclite), но после этого я вынужден 200 раз нажимать Ok в ответ на всплывающий диалог Archive Test Complete. Этот диалог можно как-нибудь отключить?
Post Reply

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