Skip to content

Утилиты

В kw присутствуют как встроенные, так и сторонние утилиты:

$ kw tool template <айди>     # Выводит полную информацию об обьекте с указанным айди в формате .ini
$ kw tool template <айди> -P  # Выводит путь до файла с обьектом в проекте
$ kw tool template <айди> -c  # Делает текст цветным 
$ kw tool template <имя>  -n  # Ищет не по айди, а по полю Name 

$ kw tool natives <код>       # Выводит список строк из blizzard.j и common.j, в которых встречается указанный код 

$ kw tool icons <название>    # Выводит ссылки и пути до иконок с указанным названием
$ kw tool icons <название> -c # Выводит только иконки из класической версии 
$ kw tool icons <название> -r # Выводит только иконки из рефоржа

$ kw tool iconslist    # Запускает на localhost:8000 сайт со списком иконок 
$ kw tool iconslist -c # На сайте будут только иконки из класической версии 
$ kw tool iconslist -r # На сайте будут только иконки из рефоржа 

$ kw tool balance      # Создает в папке dist/balance/ html код со страницей с балансом обьектов
$ kw tool balance -s   # Вместо создания сайта запускает его на localhost:8000

$ kw tool parse <файл> # Парсит файл с обьектами (.ini, .json, .mini)

$ kw tool blp <arg1> <arg2> ... # Работает с утилитой blp-rs, аргументы смотрите в ней
$ kw tool imp <arg1> <arg2> ... # Работает с утилитой imp, аргументы смотрите в ней

Сторонние утилиты

Вы можете создавать утилиты на Python (или загружать их с модулями) в папке tools:

tools/clear.py
from kuniwar.builder import Builder, BuildContext
import shutil

def clear(ctx: BuildContext):
    shutil.rmtree('backups/')
    shutil.rmtree('logs/')

def main():
    Builder.end_build_signal.connect(clear)

В библиотеке kuniwar присутствуют простые сигналы начала и конца компиляции, что позволяет автоматизировать различные процессы в проекте. Так, в примере выше, после компляции удаляются папки logs/ и backups/, которые автоматически создаются через jasshelper.

Вообще, вы можете корректировать любую доступную часть исходного кода, так, например, можно заменить стандартный ASCII арт, выводящийся при использовании команды kw в папке проекта:

tools/ascii.py
from kuniwar.utils.ascii_arts import ASCII

ASCII.value = r"""
⣇⣿⠘⣿⣿⣿⡿⡿⣟⣟⢟⢟⢝⠵⡝⣿⡿⢂⣼⣿⣷⣌⠩⡫⡻⣝⠹⢿⣿⣷
⡆⣿⣆⠱⣝⡵⣝⢅⠙⣿⢕⢕⢕⢕⢝⣥⢒⠅⣿⣿⣿⡿⣳⣌⠪⡪⣡⢑⢝⣇
⡆⣿⣿⣦⠹⣳⣳⣕⢅⠈⢗⢕⢕⢕⢕⢕⢈⢆⠟⠋⠉⠁⠉⠉⠁⠈⠼⢐⢕⢽
⡗⢰⣶⣶⣦⣝⢝⢕⢕⠅⡆⢕⢕⢕⢕⢕⣴⠏⣠⡶⠛⡉⡉⡛⢶⣦⡀⠐⣕⢕
⡝⡄⢻⢟⣿⣿⣷⣕⣕⣅⣿⣔⣕⣵⣵⣿⣿⢠⣿⢠⣮⡈⣌⠨⠅⠹⣷⡀⢱⢕
⡝⡵⠟⠈⢀⣀⣀⡀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣼⣿⢈⡋⠴⢿⡟⣡⡇⣿⡇⡀⢕
⡝⠁⣠⣾⠟⡉⡉⡉⠻⣦⣻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣦⣥⣿⡇⡿⣰⢗⢄
⠁⢰⣿⡏⣴⣌⠈⣌⠡⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣬⣉⣉⣁⣄⢖⢕⢕⢕
⡀⢻⣿⡇⢙⠁⠴⢿⡟⣡⡆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⣵⣿
⡻⣄⣻⣿⣌⠘⢿⣷⣥⣿⠇⣿⣿⣿⣿⣿⣿⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣷⢄⠻⣿⣟⠿⠦⠍⠉⣡⣾⣿⣿⣿⣿⣿⣿⢸⣿⣦⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟
⡕⡑⣑⣈⣻⢗⢟⢞⢝⣻⣿⣿⣿⣿⣿⣿⣿⠸⣿⠿⠃⣿⣿⣿⣿⣿⣿⡿⠁⣠
⡝⡵⡈⢟⢕⢕⢕⢕⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⣀⣈⠙
⡝⡵⡕⡀⠑⠳⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⡠⡲⡫⡪⡪⡣"""