Integrity Checker — работа с хеш-суммами выделенных файлов

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

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Ariman »

Анонс

Хотелки от пользователей:
  • работа с плагиновыми панелями, на которых реальные файлы
  • сравнить хэш с содержимым клипборда
  • возможность использовать upper case для шестнадцатеричного вывода
  • поддержка выбора кодировки для файлов хеш-листов
  • опция 1 хеш файл на 1 каталог
  • генерация одновременно нескольких хешей для файла
  • возможность сравнить вновь вычисленный хэш с предыдущим
  • запуск генератора через префикс
  • сохранение в лог ошибок при генерации
  • добавить поддержку ed2k хешей
Для желающих тестировать последние изменения, актуальные бинарники можно взять здесь. (Уже нельзя)
Last edited by Ariman on Tue 04 May, 2021 08:01, edited 14 times in total.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Pasha_ZZZ »

Latest post of the previous page:

buniak_a_h wrote: Wed 25 May, 2022 01:47 А APanel.Path в это время - другая?
Совсем-совсем...
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

Pasha_ZZZ wrote: Wed 25 May, 2022 02:32
buniak_a_h wrote: Wed 25 May, 2022 01:47 А APanel.Path в это время - другая?
Совсем-совсем...
Возможно, на ситуацию влияет настройка System.Executor.UseHomeDir. К сожаленю, ничего про эту настройку не нашёл
У меня на двух экземплярах ФАР-а ситуация разная: на одной win.GetCurrentDir() всегда равна APanel.Path0, на другой win.GetCurrentDir() вообще не меняется при "хождении" по папкам. От чего зависит, я так и не понял. :sad:
Last edited by buniak_a_h on Wed 25 May, 2022 03:30, edited 1 time in total.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Pasha_ZZZ »

buniak_a_h wrote: Wed 25 May, 2022 03:06 Возможно, на ситуацию влияет настройка System.Executor.UseHomeDir
Ваще никакого эффекта
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Pasha_ZZZ »

buniak_a_h wrote: Wed 25 May, 2022 03:06 К сожаленю, ничего про эту настройку не нашёл
Вам ведь уже отвечали зачем она - viewtopic.php?p=169822#p169822
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

Pasha_ZZZ, я уже вспомнил, потому и зачеркнул то, что Вы цитировали.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Pasha_ZZZ »

buniak_a_h wrote: Wed 25 May, 2022 03:58 Но вопрос (кстати, заданный в той же теме Мухой) так и остался без ответа
Вообще-то там разобрались, последнее сообщение в той теме какбэ намекает...

Взял 7z архивы с гитхаба, обеих разрядностей. Из изменений - только инишник поправил для портативности. Пофиг, везде и всегда lua:far.Message(win.GetCurrentDir()) выдает %FARHOME% (ну то есть раскрытый путь из нее).
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

Pasha_ZZZ wrote: Wed 25 May, 2022 04:09 последнее сообщение в той теме какбэ намекает...
Не-не, там про реестр. А у меня на одном компе два ФАРа ведут себя по-разному. Реестр - один. Отличия в том, что (а) один из ФАРов (он у меня зовётся тестовым) - портативный (far.exe.ini); (б) набором макросов и плагинов (у тестового меньше). Ну, попробую порыть, кто у меня на рабочем ФАРе делает, чтобы win.GetCurrentDir() всегда был равен APanel.Path0. Хотя это логично и удобно.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by 2useven10 »

buniak_a_h wrote: Wed 25 May, 2022 04:28 кто у меня на рабочем ФАРе делает, чтобы win.GetCurrentDir() всегда был равен APanel.Path0.
Например, старые (far1) плагины.
Если они есть, фар синхронизирует текущий каталог с активной панелью.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

2useven10, спасибо, они есть. Логика интересная. Так просто и не догадаешься!
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

Вообще, было бы логично, если такой механизм синхронизации вообще есть, то полезна была бы и настройка - многие вопросы бы отпали.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

Аффигеть!!! Добавляю старый плагин (например, multiarc) - и тут же эти вещи начинают синхронизироваться! Фантастика! Да… Наука умеет много гитик :-(
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Taciturn »

buniak_a_h wrote: Wed 25 May, 2022 03:06 на одной win.GetCurrentDir() всегда равна APanel.Path0, на другой win.GetCurrentDir() вообще не меняется при "хождении" по папкам. От чего зависит, я так и не понял.
Есть тема, в которой всё описано.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Pasha_ZZZ »

buniak_a_h wrote: Tue 24 May, 2022 14:06 Впрочем, соломку можно и подстелить…
Правильней всего наверное far.ConvertPath(fi)
buniak_a_h wrote: Tue 24 May, 2022 14:06 Я маску взял из его скрипта.
Я просто добавил {0,1}, чтобы просто *.sha тоже попадали в маску

Ну и остальные исправления ждем в скрипте (у себя-то я уже сделал, кроме меню).
buniak_a_h wrote: Tue 24 May, 2022 14:06 Да, забыл. Исправлю.
buniak_a_h wrote: Tue 24 May, 2022 14:06 (а) Пункт меню сделаю.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

Pasha_ZZZ wrote: Thu 26 May, 2022 06:25 Правильней всего наверное far.ConvertPath(fi)
Это короче, чем формировать через APanel.Path0, но, наверное, менее эффективно. Впрочем, эти микросекунды не стоят того, чтоб жертвовать читабельностью.
Pasha_ZZZ wrote: Thu 26 May, 2022 06:25 Я просто добавил {0,1}, чтобы просто *.sha тоже попадали в маску
Это я догадался. Логично. Сделал.
buniak_a_h wrote: Tue 24 May, 2022 14:06
Pasha_ZZZ wrote: Tue 24 May, 2022 07:19 И когда все файлы совпадают - выделение не снимается.
Да, забыл. Исправлю.
Исправил
Pasha_ZZZ wrote: Tue 24 May, 2022 07:19
buniak_a_h wrote: Tue 24 May, 2022 14:06 (а) Пункт меню сделаю.
Увы, не получилось. При вызове из пункта меню если без mf.postmacro, то возникает
E:\Far.Test\Profile\Macros\scripts\IntChecker.Run.lua:39: attempt to yield across C-call boundary
, а если вызывать плагин через mf.postmacro, то прогресс не рисуется. Кстати, аналогично если вызывать плагин вообще не из макроса, а из скрипта, вызываемого по префиксу lua:@<Lua-файл>
Кроме того, проверку по хэш-суммам вынес из того скрипта, что в коробке, сократил и повесил на Ctrl+Shift+H.
Итак.

или для удобства скачивания:
CheckByHash.lua
(1.87 KiB) Downloaded 82 times
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Pasha_ZZZ »

buniak_a_h wrote: Fri 27 May, 2022 20:59Исправил
Выделение снимается перед проверкой, поэтому после отмены его тоже нет. Наверное некритично, лучше так, чем оставлять и после проверки.
buniak_a_h wrote: Fri 27 May, 2022 20:59 Увы, не получилось.
Через Keys тоже не получится? Тогда уж лучше совсем без меню.

И еще: зачем там во флагах EmptyCommandLine? В этом скрипте комстрока никому не мешает ведь.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by buniak_a_h »

Pasha_ZZZ wrote: Sat 28 May, 2022 11:42
buniak_a_h wrote: Fri 27 May, 2022 20:59Исправил
Выделение снимается перед проверкой, поэтому после отмены его тоже нет. Наверное некритично, лучше так, чем оставлять и после проверки.
Отметка снимается при копировании "частного" файла во временный "объединённый". По-другому никак; плагин не разделяет, текст какого из отмеченных файлов обрабатывается.
Pasha_ZZZ wrote: Sat 28 May, 2022 11:42
buniak_a_h wrote: Fri 27 May, 2022 20:59 Увы, не получилось.
Через Keys тоже не получится? Тогда уж лучше совсем без меню.
Получилось. Замените на mf.postmacro(mf.eval, 'Shell/'..HotKey, 2) - работает, вроде!
Pasha_ZZZ wrote: Sat 28 May, 2022 11:42 И еще: зачем там во флагах EmptyCommandLine? В этом скрипте комстрока никому не мешает ведь.
Ну, забыл… Осталось с тех времён, когда хоткеем был Enter. Ну, уберите. Я уж не буду перевыкладывать.
P/S. Набралось несколько изменений - так что новая версия тут:
CheckByHash.lua
(1.76 KiB) Downloaded 118 times
Last edited by buniak_a_h on Sat 28 May, 2022 12:26, edited 1 time in total.
Post Reply

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