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.
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 »

Latest post of the previous page:

Если хочется красивее, то, как вариант, можно макросом слить все файлы в один временный, подсунуть его плагину, а потом, когда он закончит, файл удалить.
Pasha_ZZZ
Posts: 433
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

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

Post by Pasha_ZZZ »

Ariman wrote: Sun 22 May, 2022 13:46 Если хочется красивее
Красивее в теории. На практике же временный файл по правилам должен улететь в %TEMP%, но тогда возникнет проблема с относительными путями. Разве что в качестве 2-го параметра при вызове через префикс плагин бы принимал путь для относительных имен
User avatar
buniak_a_h
Posts: 4259
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Ariman wrote: Sun 22 May, 2022 13:46 макросом слить все файлы в один временный, подсунуть его плагину, а потом, когда он закончит, файл удалить.
Спасибо за плодотворную идею.
Pasha_ZZZ wrote: Mon 23 May, 2022 10:46 временный файл по правилам должен улететь в %TEMP% … возникнет проблема с относительными путями
И в чём проблема? Просто не надо переключаться в другую папку.
Итак. Вот скрипт (переделанный искаробочный IntChecker.Run.lua). Изменения: для исходного макроса проверки добавлен флаг NoSelection; добавлен макрос для проверки по отмеченным файлам.

И для удобства скачивания:
IntChecker.Run.lua
Форк IntChecker.Run.lua
(3.39 KiB) Downloaded 63 times
User avatar
buniak_a_h
Posts: 4259
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

P/S. Товарищ Ariman! Я думаю, в комплект поставки нужно включить вместо того IntChecker.Run.lua, что там есть, скрипт из предыдущего поста. Возможно, оптимизировав или что там надо… Эффект того стоит!
Pasha_ZZZ
Posts: 433
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: Mon 23 May, 2022 18:58 переделанный искаробочный IntChecker.Run.lua
Его нужность вообще сильно преувеличена. комментариями засрано чуть более, чем все. В ненужных для этого местах. Но в нужных они отсутствуют.
Типичная графомания, причем обильно сдобренная ломанным английским с орфографическими ошибками...
Last edited by HaRT on Tue 24 May, 2022 00:31, edited 1 time in total.
Reason: Спрятан персональный наезд
User avatar
buniak_a_h
Posts: 4259
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Pasha_ZZZ wrote: Mon 23 May, 2022 20:06 классический витин бред
Не знаю, кто такой витя и почему он бредит. Но инициатора темы зовут, скорее, Паша:
Pasha_ZZZ wrote: Tue 17 May, 2022 18:17 Если выделить несколько файлов (скажем *.md5) - то в меню IntChecker нет пункта Проверка файлов.
И, кстати, про «нужность преувеличена»: не Вы ли писали (выделено мной):
Pasha_ZZZ wrote: Wed 18 May, 2022 10:13 <…> часто крупные файлы распространяются с отдельными CRC-файлами.
Если действительно часто, то полезность очевидна. К тому же затраты минимальны
User avatar
HaRT
Moderator
Posts: 10854
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

 ! Message from: HaRT
Прошу участников дискуссии воздержаться от перехода на личности. Посты с нарушениями будут удаляться, а сами нарушители — наказываться вплоть до бана.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Pasha_ZZZ
Posts: 433
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: Mon 23 May, 2022 21:11 нужность преувеличена
Я про оригинальный скрипт из комплекта поставки. И кстати, там еще было много "версий" после 1.2.2...
User avatar
buniak_a_h
Posts: 4259
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Pasha_ZZZ wrote: Tue 24 May, 2022 05:15 там еще было много "версий" после 1.2.2
Да, действительно… Но на мой взгляд всё, что действительно надо, есть в том скрипте, что я высылал; остальное - явно лишнее. Например, проверка CRC по Enter-у должна быть только при пустой комстроке, никаких дополнительных вопросов не требуется. И ограничивается это легко флагами. И да, буковок в скрипте стало много. Ну, значит просто выдерите из того скрипта только макрос для работы с отмеченными хэш-файлами.
На самом деле если для Вас эта тема ещё актуальна, то попробуйте; я жду конструктивной критики.
Pasha_ZZZ
Posts: 433
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

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

Post by Pasha_ZZZ »

Code: Select all

╔════════════════════════════════════════════════ LuaMacro ═════════════════════════════════════════════════╗
║ ...\Roaming\Far Manager\Profile\Macros\scripts\CheckSel.lua:30: attempt to index local 'hi' (a nil value) ║
║ stack traceback:                                                                                          ║
║    ...\Roaming\Far Manager\Profile\Macros\scripts\CheckSel.lua: in function <...\Roaming\Far Manager\     ║
║ Profile\Macros\scripts\CheckSel.lua:23>                                                                   ║
╟───────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║                                                  { OK }                                                   ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Похоже что надо так:

Code: Select all

local hi = io.open(APanel.Path .. '\\' .. fi, 'r')
Еще вот это (часто бывают файлы просто *.sha):

Code: Select all

local Mask="/.+\\.(md5|sfv|sha(1|3|256|512){0,1}|wrpl)/i";
И когда все файлы совпадают - выделение не снимается.

А еще можно добавить пункт для вызова в меню плагинов и хоткей сделать посложнее, типа Ctrl+Alt+H например, чтобы не перекрывал другие.
Last edited by Pasha_ZZZ on Tue 24 May, 2022 08:45, edited 3 times in total.
User avatar
buniak_a_h
Posts: 4259
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Pasha_ZZZ wrote: Tue 24 May, 2022 07:19

Code: Select all

╔════════════════════════════════════════════════ LuaMacro ═════════════════════════════════════════════════╗
║ ...\Roaming\Far Manager\Profile\Macros\scripts\CheckSel.lua:30: attempt to index local 'hi' (a nil value) ║
║ stack traceback:                                                                                          ║
║    ...\Roaming\Far Manager\Profile\Macros\scripts\CheckSel.lua: in function <...\Roaming\Far Manager\     ║
║ Profile\Macros\scripts\CheckSel.lua:23>                                                                   ║
╟───────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║                                                  { OK }                                                   ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Похоже что надо так:

Code: Select all

local hi = io.open(APanel.Path .. '\\' .. fi, 'r')
В этом есть смысл только если win.GetCurrentDir указывает на папку, отличную от APanel.Path. И ошибка может возникнуть в таком же случае. Отсюда вопрос: как Вы этого добились?
Впрочем, соломку можно и подстелить…
Pasha_ZZZ wrote: Tue 24 May, 2022 07:19 Еще вот это (часто бывают файлы просто *.sha):

Code: Select all

local Mask="/.+\\.(md5|sfv|sha(1|3|256|512){0,1}|wrpl)/i";
А вот это - к Ariman-у. Я маску взял из его скрипта. Сейчас проверил: в новейшей версии скрипта так же.
Pasha_ZZZ wrote: Tue 24 May, 2022 07:19 И когда все файлы совпадают - выделение не снимается.
Да, забыл. Исправлю.
Pasha_ZZZ wrote: Tue 24 May, 2022 07:19 А еще можно добавить пункт для вызова в меню плагинов и хоткей сделать посложнее, типа Ctrl+Alt+H например, чтобы не перекрывал другие.
(а) Пункт меню сделаю.
(б) Хоткей - тот же, что для проверки в искаробочном макросе. Разведены макросы флагами Selection / NoSelection. Т.е. если есть отмеченные файлы - выполняется мой; если нет - искаробочный.
Last edited by buniak_a_h on Tue 24 May, 2022 14:10, edited 3 times in total.
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 »

buniak_a_h wrote: Tue 24 May, 2022 14:06 А вот это - к Ariman-у. Я маску взял из его скрипта. Сейчас проверил: в новейшей версии скрипта так же.
Это не ко мне. Мопед не мой, я просто разместил. :) Вообще хз как оно там что, ни разу не пользовался.
Pasha_ZZZ
Posts: 433
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 Отсюда вопрос: как Вы этого добились?
Никак не добивался. Вставил в макрос вывод win.GetCurrentDir(): при запуске самого фара это %FARHOME%, при запуске ConEmu - %USERPROFILE%
Pasha_ZZZ
Posts: 433
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 Хоткей - тот же, что для проверки в искаробочном макросе
Не зря искаробочный макрос лежит там, где искаропки не работает.
Ariman wrote: Tue 24 May, 2022 15:13 Вообще хз как оно там что, ни разу не пользовался.
Класека. Он для этого и нужен.
User avatar
buniak_a_h
Posts: 4259
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Pasha_ZZZ wrote: Wed 25 May, 2022 01:22 Вставил в макрос вывод win.GetCurrentDir(): при запуске самого фара это %FARHOME%, при запуске ConEmu - %USERPROFILE%
А APanel.Path в это время - другая? Это похоже на глюк ФАРа …
Pasha_ZZZ
Posts: 433
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 01:47 А APanel.Path в это время - другая?
Совсем-совсем...
Post Reply

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