Py-ini-config

Материал из IT в школе
Перейти к навигацииПерейти к поиску


Утилита для правки конфигов ini.

Установка

Введите в консоли:

sudo dnf in py-ini-config

Или найдите и установите py-ini-config через средство установки программ dnfdragora («Пакеты»).

Запуск

Данная утилита работает только в консольном режиме.

Действия в утилите

set

Изменяет значение переменной var или добавляет переменную var с указанным значением value в секцию section. Если секция section не существует, она будет создана. Если в одной секции есть несколько переменных с одинаковым именем, изменяет значение последней переменной.

add

Добавляет значение value к набору значений переменной var или создаёт переменную var (если такой не было) с указанным значением value в секции section. Если секция section не существует, она будет создана. Если в одной секции есть несколько переменных с одинаковым именем, добавляет значение к последней переменной.

comment

Комментирует переменную var в указанной секции section или секцию section целиком. Если в одной секции есть несколько переменных с одинаковым именем, комментирует все эти переменные.

uncomment

Раскомментирует переменную var в указанной секции section или секцию section целиком. Если в одной секции есть несколько переменных с одинаковым именем, раскомментирует только последнюю переменную.

get

Выводит значение переменной var в указанной секции section из файла file. Если переменная var не указана, выводит секцию целиком. Если в одной секции есть несколько переменных с одинаковым именем, выводит значение только первой переменной.

is_set

Проверяет, существует ли переменная var в указанной секции section. Возвращает 0, если переменная var существует, иначе возвращает 1. Если указано значение, возвращает 0, если указанное значение присутствует в наборе значений переменной var, иначе возвращает 1. Чтобы увидеть результат выполнения команды is_set, можно ввести в консоли после этой команды ; echo $? Это позволит увидеть код возврата последней выполненной в консоли операции.

get_commented

Выводит значение закомментированной переменной var в указанной секции section из файла file. Если в одной секции есть несколько переменных с одинаковым именем, выводит значение всех закомментированных переменных.

del

Удаляет переменную var из указанной секции section файла конфига file. Если указано значение value, удаляет указанное значение value из набора значений переменной var.Если в одной секции есть несколько переменных с одинаковым именем, удаляет одноименные переменные.

del_section

Удаляет секцию section из файла конфига file целиком. Если есть несколько секций с одинаковым именем, удаляет первую секцию.

is_empty

Проверяет, является ли указанная секция section пустой. Возвращает 0, если секция пустая, иначе возвращает 1. Чтобы увидеть результат выполнения команды is_set, можно ввести в консоли после этой команды ; echo $? Это позволит увидеть код возврата последней выполненной в консоли операции.

rename

Переименовывает переменную var в указанной секции section. Если в одной секции есть несколько переменных с одинаковым именем, переименовывает все одноименные переменные.

check

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

Дополнительные опции

-V, --version

Показывает текущую версию py-ini-config.

-s separator

Если указано, рассматривает файл конфига с указанным разделителем между переменными и их значениями separator вместо '=' по умолчанию.

-n, --no-section

Если указано вместо section, рассматривает файлы конфига без секций.

-c, --create

Если указано, создаёт новый файл конфига. Если файл уже существует, продолжает работать с ним. Используется с set или add.

-a, --all

Используется вместо отдельного файла с функциями get and is_set. Имя, которое пишется после этого ключа, одновременно является именем файла конфига и началом имени папки, которое оканчивается на ´.d´. Поиск указанной переменной var будет вестись как в указанном файле, так и во всех файлах внутри папки.

-i

Используется с -a, --all. Если указано, изменяет порядок обхода файлов и папок (сначала поиск будет осуществляться в корневых папках, потом в файлах). Используется для sddm.

-e

Используется с -a, --all. Если задано значение, в папке будут рассмотрены только файлы с указанным расширением.

--sort-collected

Используется с -a, --all (часто используется с --shadowing, но не всегда). Если указано, приоритет drop-in файлов будет зависеть не от положения директории в порядке обхода, а от алфавитного местоположения при сортировке списка файлов (при этом все файлы из drop-in директорий собраны в общую папку). Используется для systemd.

--shadowing

Используется с -a, --all. Если указано, одноименные файлы из следующей подпапки полностью заменяют одноименные файлы из предыдущей подпапки (т. е. менее приоритетные одноименные файлы будут полностью исключены). Используется для systemd.

 --flush

Если используется с del, полностью удаляет секцию, в которой не осталось переменных.

 --no-indent

Если указано с set или add, при указании значения для существующей переменной удаляет отступ в начале строки.

 -S

Если указано значение, оно используется для отделения значений переменных друг от друга вместо запятой.

 --semicolon-comment

Если указано значение, точка с запятой используется как символ комментирования вместо ´#´.

--view-comments

Используется с командами set и add. Если указан данный параметр, и переменная имеет указанное значение в закомментированной строке, такая команда раскомментирует всю строку (и комментирует раскомментированную, если она была).

-v, --verbose

Используется с -a, --all. Если указано, выводит подробную информацию в stderr в процессе работы.

--ignore-empty-values

Используется с -a, --all. Если указано, игнорируются пустые значения существующих переменных и возвращается последнее непустое значение.

--ignore-file

Используется с -a, --all. Если указано, при рекурсивном просмотре игнорируются файл с именем, указанным после данного параметра.

--get-