[wdx] WinScript Advanced Content Plugin (x86\x64) (new)
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3 ... 13, 14, 15  Next  :| |:
Total Commander -> Плагины Total Commander

#1: [wdx] WinScript Advanced Content Plugin (x86\x64) (new) Author: Gentoo69 PostPosted: Wed May 18, 2016 23:35
    —
WinScript Advanced
(c) Alex Shy, 2016 (= автор топика)

Тема на оффоруме

Контентный плагин WinScriptAdv запускает скрипты для каждого файла и папки и возвращает результат работы скрипта (строку) в колонки.
Вы можете писать скрипты для получения любой полезной информации из файла/папки или парсить имя для сортировки в требуемом порядке, переименования в инструменте группового переименования и т.д.

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

Скрин 1
Скрин 2
Скрин 3

Возможности:

* До 21 колонки в одном скрипте
* Неограниченное количество совместно работающих скриптов (по 21 колонке на скрипт) в одной группе колонок
* Возможность изменять заголовки колонок
* Поддерживаемые языки:
см. рабочие примеры скриптов в папке Scripts.

* Возможность устанавливать собственные скриптовые движки, указав путь к exe интерпретатора.
* Стабильный и быстрый
(быстрый в случае использования языков через COM - VBS, JS, Python, языки, которые работают через exe парсер - заметно медленнее)
* С открытым исходным кодом (Delphi XE8) - будет открыт в ближайшее время

Полностью совместим со скриптами, созданными для плагина script_wdx (автор Lev Freidin, wincmd.ru и totalcmd.net), у вас нет необходимости исправлять их: скрипты для WinScriptAdv имеют тот же формат - переменная с именем "filename" и переменные с результатом content, content1, content2, ... content20 (всего 21).

 Полезные скрипты (идут вместе с плагином):


Скачать:
http://wincmd.ru/plugring/WinScriptAdv.html

Ваши предложения, сообщения о найденных ошибках, новые скрипты пожалуйста отправляйте в эту тему или в соседнюю.

**
Вы можете добавить все имеющиеся скрипты в раздел
[Script]
ActiveScripts=
Это не повлияет на производительность, т.к. скрипты запускаются только если колонка активна в ТС.

После этого можно добавить нужные колонки с разными скриптами и создать группы колонок, а затем легко переключаться между ними (нажав правую кнопку мыши в TC по колонке и выбрав в меню нужную группу колонок)


Last edited by Gentoo69 on Thu Sep 01, 2016 18:40; edited 6 times in total

#2:  Author: FlasherLocation: Москва PostPosted: Thu May 19, 2016 03:42
    —
О как. Предчуствие не обмануло, коль затягивал с выкладкой. Что называется, кто не успел, тот опоздал. Smile
Skif_off более полноценный и грамотно оформленный перевод скидывал с описаниями. Перенаправил в ЛС.

Вопросы вероятно появятся после некоторых тестов.


Last edited by Flasher on Thu May 19, 2016 17:01; edited 1 time in total

#3:  Author: Gentoo69 PostPosted: Thu May 19, 2016 04:26
    —
Flasher wrote:
О как. Предчуствие не обмануло, коль затягивал с выкладкой. Что называется, кто не успел, тот опоздал. Smile
Skiff_off более полноценный и грамотно оформленный перевод скидывал с описаниями. Перенаправил в ЛС.

Вопросы вероятно появятся после некоторых тестов.

Обновил описание, спасибо Skiff_off и Flasher.

Инфу по поводу создания скриптов убрал из шапки форума в Readme (на англ.), кроме того, там содержится один ньюанс для скриптов, которые работают с exe парсерами напрямую (и только для них!) - нужно выводить результаты переменных content, content1 итп. в StdOut (в консоль).
(все это есть в примерах скриптов в папке Scripts, т.е. в принципе ридми можно и не читать Smile - а сразу брать тестовый скрипт нужного разрешения и на его основе делать то, что Вам необходимо).

#4:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu May 19, 2016 08:11
    —
Gentoo69
Шапка темы приведена в несколько более компактный вид. Дубль в "Автоматизации" удалён как нарушающий правила форума.

#5:  Author: RodnyLocation: Могилёв, Беларусь PostPosted: Thu May 19, 2016 17:06
    —
Gentoo69
Не нужно файл в дистрибутиве называть options.ini, пускай он будет что-нибудь вроде options.ini.sample. А то при обновлении он затирает имеющийся файл.

#6:  Author: FlasherLocation: Москва PostPosted: Thu May 19, 2016 18:02
    —
Gentoo69
Отдельное спасибо за extensions и возврат значений из процедур! Теперь от лишнего кода можно избавиться.
1. Просьба ввести ключ 2 (только папки) для FoldersPaths.
2. У SCP была возможность обновлять возращаемые с обновлённым кодом поля без перезапуска ТС. Есть возможность осуществить?
3. Можно ли рассчитывать в будущем на ключ для пути к интерпретатору (без костылей с StdOut)?
4. В ReadMe перевод на русский хотелось бы. Строки снизу там лишние. И Alt+Backspace в AkelPad нажать не помешает.

#7:  Author: Skif_off PostPosted: Thu May 19, 2016 18:13
    —
Flasher
2. cm_UnloadPlugins, а потом cm_LoadAllOnDemandFields? Блин, а я перезапускал Smile

#8:  Author: FlasherLocation: Москва PostPosted: Thu May 19, 2016 18:30
    —
Skif_off
Это-то понятно. Но я панель по Esc обновляю.

#9:  Author: Skif_off PostPosted: Thu May 19, 2016 19:02
    —
Flasher
cm_RereadSource?

#10:  Author: FlasherLocation: Москва PostPosted: Thu May 19, 2016 19:06
    —
Skif_off
Почти. 540,524.

#11:  Author: Gentoo69 PostPosted: Thu May 19, 2016 19:13
    —
Flasher
Quote:
1. Просьба ввести ключ 2 (только папки) для FoldersPaths.

Ok.

Quote:
2. У SCP была возможность обновлять возращаемые с обновлённым кодом поля без перезапуска ТС. Есть возможность осуществить?

2.1 Закрыть > открыть TC это ж занимаем секунды.
2.2 По идее в options.ini придется не часто ходить (только во время добавления нового скрипта), один раз забрасываем все скрипты, прописываем их все в ActiveScripts (это не влияет на производительность, скрипты запускаются только если колонка видимая), далее включаем или отключаем их через TC - например можно создать группы нужных скриптов (т.е. колонок) и переключаться между ними в ТС (правая кнопка мыши по колонке).

3.
Quote:
Можно ли рассчитывать в будущем на ключ для пути к интерпретатору?

Сейчас уже можно указать путь к любому интерпретатору в секции, к примеру копипаста из options.ini:

[ExeScriptParsers]
php=c:\php\php.exe
phpVarFormat=$filename='%s';
phpDoubleSlashPath=0

Quote:
Можно ли рассчитывать в будущем на ключ для пути к интерпретатору, без костылей с StdOut [из скрипта]?

А как тогда получать результаты от скрипта в таких парсерах?
К примеру для php скрипта в конце кода нужно написать:

echo $content;
или
echo $content;
echo $content1;

...
Разве что плагин сам добавит эти строчки в скрипт.
Хм, а это идея, надо подумать.
Я правильно вас понял - т.е. суть в унификации - чтобы и vb\js\python (у них не нужно в скриптах выводить результаты на консоль, переменная читается напрямую через COM) и php имели один стандарт написания, чтобы не путаться?

Quote:
4. В ReadMe перевод на русский хотелось бы.

Я за плагин смогу взяться только через пару недель, там еще PowerShell на очереди, так что если можете помочь с переводом ReadMe - это было бы прекрасно.

Quote:
Строки снизу там лишние.

Это не баг, а фича Very Happy - чтобы текст в конце файла можно было проскролить на середину экрана, а не направлять глаза и голову вниз монитора (на больших мониторах)


Last edited by Gentoo69 on Thu May 19, 2016 19:22; edited 2 times in total

#12:  Author: StaniclawLocation: Ташкент PostPosted: Thu May 19, 2016 19:18
    —
Gentoo69 wrote:
2.1 Закрыть > открыть TC это ж занимаем секунды.
А если открыта вкладка с результатами поиска?

#13:  Author: FlasherLocation: Москва PostPosted: Thu May 19, 2016 19:32
    —
Gentoo69
2.1 Для тестов это крайне неприятная необходимость, когда проверка может возникать в минуту по неск. раз.
3. Та-ак. Я не обновился просто. В описании нигде не увидел. Теперь вижу. Тогда пойду смотреть. По идее и унификации всё верно.
4. Помочь не проблема, если кто-то не опередит. Там немного. Первый раз встречаюсь с фичей, но хозяин-барин. Но концевые пробелы вряд ли фича. Wink

#14:  Author: Skif_off PostPosted: Thu May 19, 2016 19:53
    —
Gentoo69
Писал про #include <WinAPIFiles.au3>, прошу прощения, я был неправ: не заметил, что вы там используете константу $FO_READ
Code:
Local $hFileOpen = FileOpen($filename, $FO_READ)

(Обычно пишут числа и до 3.3.10.0 в документации в описании и примерах тоже писали сразу числа, хотя в 3.3.8.1 эти константы уже были.)

Проще записать в виде
Code:
Local $hFileOpen = FileOpen($filename, 0)

чтобы не тянуть include всего лишь из-за одной строки "Global Const $FO_READ = 0". В принципе, знакомый с AutoIt поймёт в чем дело, но я вас подвёл ненароком - из коробки пример стал нерабочим, ещё раз прошу прощения.

#15:  Author: FlasherLocation: Москва PostPosted: Thu May 19, 2016 20:01
    —
Gentoo69
3. Что-то у меня не получилось.
Code:
[ExeScriptParsers]
vbs=%COMMANDER_PATH%\Scripts\Parsers\wscript.exe
vbsVarFormat=filename="%s"
>>No data from script.

И да, было бы здорово указывать его отдельно для секций ActiveScripts, а не всех скриптов заданного расширения подряд.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3 ... 13, 14, 15  Next  :| |:
Page 1 of 15

Powered by phpBB © 2001, 2005 phpBB Group