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

Здесь можно обсудить ваш любимый плагин.
ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA File List

Post by ladserg » Thu 07 Apr, 2016 15:27

Latest post of the previous page:

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

Скорее вы для своих целей просто используете неподходящий инструмент.
Last edited by ladserg on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Спрятан оверквотинг

User avatar
Alexander84
Posts: 81
Joined: Fri 01 May, 2009 06:38
Has thanked: 6 times

LUA File List

Post by Alexander84 » Thu 07 Apr, 2016 15:40

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

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

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA File List

Post by ladserg » Thu 07 Apr, 2016 15:58

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

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

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

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

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

User avatar
HaRT
Moderator
Posts: 8049
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 100 times

LUA File List

Post by HaRT » Thu 07 Apr, 2016 16:32

ladserg wrote: HaRT описывал алгоритм не для этого плагина, не для списка файлов
Пользователь просит расширить функциональность плагина, ослабив ограничение «один файл — одна строка». Предлагается добавить дополнительную фильтрацию результирующих строк — и вот там иметь возможность не выводить дубликаты (строк).
Фар есть инструмент, а не нянька. © 2009 DrKnS

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA File List

Post by ladserg » Thu 07 Apr, 2016 17:10

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

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA File List

Post by ladserg » Thu 07 Apr, 2016 17:29

Можно добавить фильтр, исключающий каталоги, у которых есть подкаталоги. В рамках предназначения данного плагина - это возможно. С течением времени я добавлю такую опцию.

User avatar
HaRT
Moderator
Posts: 8049
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 100 times

LUA File List

Post by HaRT » Thu 07 Apr, 2016 17:35

ladserg wrote: Один файл - одна строка - это не ограничение, это задача плагина
Перефразирую свою мысль.
Вот возьмём для примера SQL-запрос SELECT: там есть WHERE, чтобы отфильтровать записи, а есть GROUP BY, чтобы агрегировать их по какому-то признаку. А в Вашем плагине фильтрация есть, а агрегирования (в обсуждаемом случае — по директории) нет. И вот о такой-то возможности Вас тут и просят.
Фар есть инструмент, а не нянька. © 2009 DrKnS

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA File List

Post by ladserg » Thu 07 Apr, 2016 17:45

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

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

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

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

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

User avatar
HaRT
Moderator
Posts: 8049
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 100 times

LUA File List

Post by HaRT » Thu 07 Apr, 2016 17:50

ladserg wrote: вы не можете понять
ladserg wrote: вы в невнимательности своей не обратили внимания
ladserg wrote: Неужели в жизни вы забиваете гвозди лопатой, а копаете носовым платком?
Спасибо, я Вас тоже люблю и ценю. И при случае отплачу той же монетой.
Фар есть инструмент, а не нянька. © 2009 DrKnS

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

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

Post by ladserg » Fri 08 Apr, 2016 07:07

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

tyrex
Posts: 21
Joined: Fri 17 Jul, 2009 08:14

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

Post by tyrex » Sat 21 Jan, 2017 20:01

Отличный плагин, спасибо за него!

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

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

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

Post by ladserg » Sun 22 Jan, 2017 14:26

tyrex wrote: Отличный плагин, спасибо за него!

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

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

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

Post by ladserg » Sun 22 Jan, 2017 14:27

И по возможности приведите пример как должно выглядеть желаемое
Last edited by ladserg on Sun 22 Jan, 2017 14:27, edited 1 time in total.

tyrex
Posts: 21
Joined: Fri 17 Jul, 2009 08:14

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

Post by tyrex » Tue 08 Aug, 2017 10:01

Баг.

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

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

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

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

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

Post by ladserg » Tue 08 Aug, 2017 10:16

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

И если можно приведите версию плагина и Far'а.
Last edited by ladserg on Tue 08 Aug, 2017 10:24, edited 1 time in total.

Post Reply

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