Page 4 of 6

LUA File List

Posted: Thu 07 Apr, 2016 15:27
by ladserg

Latest post of the previous page:

Alexander84 wrote:
Возможно, стоит попробовать подход, предложенный HaRT, т.е. оставить %rD и две галки, добавив на последнем шаге уборку дублей.
Она не лишняя, это же тоже каталог, а дублей, как я писал, нет и не было, у каждой строчки были разные файлы. HaRT описывал алгоритм не для этого плагина, не для списка файлов.

Скорее вы для своих целей просто используете неподходящий инструмент.

LUA File List

Posted: Thu 07 Apr, 2016 15:40
by Alexander84
Исхожу из того, что если пишешь %D, то плагин уделит больше внимания папкам, чем файлам. Т.е. пусть в «Семнадцати мгновениях весны» лежит 17 файлов, но если просишь имя папки, чего писать её 17 раз? Возможно, стоит ввести не дополнительную галку, а модификатор типа %ruD, т.е. взять иерархию папок и сохранить с относительным путём только уникальные (u, т.е. unique) названия. Это необязательно делать вот прям сейчас, но, как вы сказали, задача «на подумать».

P.S. А James Bond сама по себе всё ж лишняя, ведь в ней нет файлов, а только подпапки, которые и нужно перечислить.

LUA File List

Posted: Thu 07 Apr, 2016 15:58
by ladserg
Alexander84 wrote:Исхожу из того, что если пишешь %D, то плагин уделит больше внимания папкам, чем файлам. Т.е. пусть в «Семнадцати мгновениях весны» лежит 17 файлов, но если просишь имя папки, чего писать её 17 раз? Возможно, стоит ввести не дополнительную галку, а модификатор типа %ruD, т.е. взять иерархию папок и сохранить с относительным путём только уникальные (u, т.е. unique) названия. Это необязательно делать вот прям сейчас, но, как вы сказали, задача «на подумать».

P.S. А James Bond сама по себе всё ж лишняя, ведь в ней нет файлов, а только подпапки, которые и нужно перечислить.
Ещё раз поясню, плагин создаёт список файлов, и для каждого выводит сктроку согласно пользовательскому шаблону, поле %D просто говорит, что в этом месте выведи каталог файла. И не зависимо от того, выводите вы в этой строке имя файла или нет, файл всё равно есть и строка для него будет сгенерирована, ибо полные имена файлов - разные.

Если в каталоге 17 файлов, то и строк будет 17, потому что файлов 17, при этом сам каталог, где лежат файлы - это тоже файл, только у него есть флаг каталога, а в остальном он обычный файл. Папка James Bond в рамках задач именно этого плагина не лишняя, ибо в ней всё же есть файлы, при этом вложенный каталог сам является файлом.

Вы просто используете не тот инструмент для своих задач. Если вам нужно взять список файлов и вывести его согласно своему шаблону - этот плагин вам в этом поможет.

Для создания структуры каталогов этот плагин не предназначен, у него задача иная. Это не тот инструмент. Не для этого создан.

LUA File List

Posted: Thu 07 Apr, 2016 16:32
by HaRT
ladserg wrote: HaRT описывал алгоритм не для этого плагина, не для списка файлов
Пользователь просит расширить функциональность плагина, ослабив ограничение «один файл — одна строка». Предлагается добавить дополнительную фильтрацию результирующих строк — и вот там иметь возможность не выводить дубликаты (строк).

LUA File List

Posted: Thu 07 Apr, 2016 17:10
by ladserg
HaRT wrote:
ladserg wrote: HaRT описывал алгоритм не для этого плагина, не для списка файлов
Пользователь просит расширить функциональность плагина, ослабив ограничение «один файл — одна строка». Предлагается добавить дополнительную фильтрацию результирующих строк — и вот там иметь возможность не выводить дубликаты (строк).
Один файл - одна строка - это не ограничение, это задача плагина. Для иных задач нужен другой плагин, с другой задачей. И фильтрацию я добавил, есть возможность отключить вывод непапок в результат. Просто пользователь пытается использовать плагин для того, для чего он не предназначен.

LUA File List

Posted: Thu 07 Apr, 2016 17:29
by ladserg
Можно добавить фильтр, исключающий каталоги, у которых есть подкаталоги. В рамках предназначения данного плагина - это возможно. С течением времени я добавлю такую опцию.

LUA File List

Posted: Thu 07 Apr, 2016 17:35
by HaRT
ladserg wrote: Один файл - одна строка - это не ограничение, это задача плагина
Перефразирую свою мысль.
Вот возьмём для примера SQL-запрос SELECT: там есть WHERE, чтобы отфильтровать записи, а есть GROUP BY, чтобы агрегировать их по какому-то признаку. А в Вашем плагине фильтрация есть, а агрегирования (в обсуждаемом случае — по директории) нет. И вот о такой-то возможности Вас тут и просят.

LUA File List

Posted: Thu 07 Apr, 2016 17:45
by ladserg
HaRT wrote: Перефразирую свою мысль.
Вот возьмём для примера SQL-запрос SELECT: там есть WHERE, чтобы отфильтровать записи, а есть GROUP BY, чтобы агрегировать их по какому-то признаку. А в Вашем плагине фильтрация есть, а агрегирования (в обсуждаемом случае — по директории) нет. И вот о такой-то возможности Вас тут и просят.
Думаю нет смысла спорить, вы не можете понять, что требуете написать новый плагин под иную задачу, это всё равно, что к утюгу приделывать морозильную камеру.

И не просил пользователь никакой фильтрации, ему надо составить дерево каталогов с выводом конечных листьев. Для этого ему нужен плагин для работы с каталогами, а не с файлами.

Ваш пример не подходит, ибо задача плагина именно агрегирование по файлу. Но и тут тоже за счёт последних изменений реализована псевдоагрегация по каталогу, за счёт исключения файлов. Но вы в невнимательности своей не обратили внимания на то, что пользователь в дальнейшем пожелал исключить промежуточные каталоги.

Неужели в жизни вы забиваете гвозди лопатой, а копаете носовым платком? Ведь тут точно такой же случай.

В крайнем случае код плагина открыт, допишите то что желаете, я буду рад посмотреть и научиться чему новому.

LUA File List

Posted: Thu 07 Apr, 2016 17:50
by HaRT
ladserg wrote: вы не можете понять
ladserg wrote: вы в невнимательности своей не обратили внимания
ladserg wrote: Неужели в жизни вы забиваете гвозди лопатой, а копаете носовым платком?
Спасибо, я Вас тоже люблю и ценю. И при случае отплачу той же монетой.

LUA File List: «один файл — одна строка»

Posted: Fri 08 Apr, 2016 07:07
by ladserg
Изменения в версии 2016-04-08-0:
  • Добавлена опция "Исключить промежуточные каталоги", исключающая из списка каталоги, имеющие подкаталоги.
  • Заменена опция "Не включать в список файлы в каталогах" на "Не включать в список файлы", теперь она исключает из списка даже
    выделенные файлы.

LUA File List: «один файл — одна строка»

Posted: Sat 21 Jan, 2017 20:01
by tyrex
Отличный плагин, спасибо за него!

Есть одно пожелание.
При формировании списка файлов из панели NetBox (скажем, с FTP), нет возможности подставить перед именем файла текущее местоположение (ссылку). Хотелось бы, чтобы %P подставлял действительно текущее положение. Или можно добавить отдельным параметром

LUA File List: «один файл — одна строка»

Posted: Sun 22 Jan, 2017 14:26
by ladserg
tyrex wrote: Отличный плагин, спасибо за него!

Есть одно пожелание.
При формировании списка файлов из панели NetBox (скажем, с FTP), нет возможности подставить перед именем файла текущее местоположение (ссылку). Хотелось бы, чтобы %P подставлял действительно текущее положение. Или можно добавить отдельным параметром
Понял, посмотрю чуть поже как он работает с FTP и что можно придумать.

LUA File List: «один файл — одна строка»

Posted: Sun 22 Jan, 2017 14:27
by ladserg
И по возможности приведите пример как должно выглядеть желаемое

LUA File List: «один файл — одна строка»

Posted: Tue 08 Aug, 2017 10:01
by tyrex
Баг.

Если имя файла содержит символ @ и представляет собой что-нибудь вроде "welcome@123", то плагин начисто игнорирует в имени все, что находится после этого символа.

Пример.
Вход:
welcome@1
welcome@2
welcome@3

Результат:
welcome
welcome
welcome

LUA File List: «один файл — одна строка»

Posted: Tue 08 Aug, 2017 10:16
by ladserg
tyrex wrote: Tue 08 Aug, 2017 10:01Баг.
Какая строка поиска? Какой формат строки? При строке %P %F у меня не удаётся воспроизвести проблему. Если не затруднит, то скажите как у вас плагин ведёт себя с такой строкой.

И если можно приведите версию плагина и Far'а.

LUA File List: «один файл — одна строка»

Posted: Wed 11 Mar, 2020 21:27
by skipik
ladserg, _globalinfo надо поправить - ноль добавить, иначе:

Code: Select all

   ╔═════════════════════════ Ошибка ══════════════════════════╗
   ║ Для работы этого плагина требуется более новая версия Far ║
   ║         C:\Soft\Far\plugins\lflist\lflist-x64.dll         ║
   ║            Требуемая версия Far - 3.0.4040.0,             ║
   ║             текущая версия Far - 3.0.0.5570.              ║
   ╟───────────────────────────────────────────────────────────╢
   ║                          { OK }                           ║
   ╚═══════════════════════════════════════════════════════════╝
P.S. для lfblock - аналогично.