refactor(klipper): merge functions to eliminate unnecessary passing of arguments
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
@@ -207,9 +207,9 @@ function run_klipper_setup() {
|
|||||||
install_klipper_packages "${python_version}"
|
install_klipper_packages "${python_version}"
|
||||||
create_klipper_virtualenv "${python_version}"
|
create_klipper_virtualenv "${python_version}"
|
||||||
|
|
||||||
### step 3: configure and create klipper instances
|
### step 3: create klipper instances
|
||||||
for instance in "${instance_names[@]}"; do
|
for instance in "${instance_names[@]}"; do
|
||||||
configure_klipper_service "${instance}"
|
create_klipper_service "${instance}"
|
||||||
done
|
done
|
||||||
|
|
||||||
### step 4: enable and start all instances
|
### step 4: enable and start all instances
|
||||||
@@ -319,25 +319,27 @@ function install_klipper_packages() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function configure_klipper_service() {
|
function create_klipper_service() {
|
||||||
local instance_name=${1}
|
local instance_name=${1}
|
||||||
|
|
||||||
local printer_data
|
local printer_data
|
||||||
local cfg_dir
|
local cfg_dir
|
||||||
local cfg
|
local cfg
|
||||||
local log
|
local log
|
||||||
local printer
|
local klippy_serial
|
||||||
local uds
|
local klippy_socket
|
||||||
local env_file
|
local env_file
|
||||||
local service
|
local service
|
||||||
|
local service_template
|
||||||
|
local env_template
|
||||||
local suffix
|
local suffix
|
||||||
|
|
||||||
printer_data="${HOME}/${instance_name}_data"
|
printer_data="${HOME}/${instance_name}_data"
|
||||||
cfg_dir="${printer_data}/config"
|
cfg_dir="${printer_data}/config"
|
||||||
cfg="${cfg_dir}/printer.cfg"
|
cfg="${cfg_dir}/printer.cfg"
|
||||||
log="${printer_data}/logs/klippy.log"
|
log="${printer_data}/logs/klippy.log"
|
||||||
printer="${printer_data}/comms/klippy.serial"
|
klippy_serial="${printer_data}/comms/klippy.serial"
|
||||||
uds="${printer_data}/comms/klippy.sock"
|
klippy_socket="${printer_data}/comms/klippy.sock"
|
||||||
env_file="${printer_data}/systemd/klipper.env"
|
env_file="${printer_data}/systemd/klipper.env"
|
||||||
|
|
||||||
if [[ ${instance_name} == "printer" ]]; then
|
if [[ ${instance_name} == "printer" ]]; then
|
||||||
@@ -346,37 +348,26 @@ function configure_klipper_service() {
|
|||||||
suffix="-${instance_name//printer_/}"
|
suffix="-${instance_name//printer_/}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
service="${SYSTEMD}/klipper${suffix}.service"
|
|
||||||
|
|
||||||
create_required_folders "${printer_data}"
|
create_required_folders "${printer_data}"
|
||||||
write_klipper_service "${cfg}" "${log}" "${printer}" "${uds}" "${service}" "${env_file}"
|
|
||||||
write_example_printer_cfg "${cfg}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function write_klipper_service() {
|
|
||||||
local cfg=${1}
|
|
||||||
local log=${2}
|
|
||||||
local printer=${3}
|
|
||||||
local uds=${4}
|
|
||||||
local service=${5}
|
|
||||||
local env_file=${6}
|
|
||||||
|
|
||||||
local service_template
|
|
||||||
local env_template
|
|
||||||
|
|
||||||
service_template="${KIAUH_SRCDIR}/resources/klipper.service"
|
service_template="${KIAUH_SRCDIR}/resources/klipper.service"
|
||||||
env_template="${KIAUH_SRCDIR}/resources/klipper.env"
|
env_template="${KIAUH_SRCDIR}/resources/klipper.env"
|
||||||
|
service="${SYSTEMD}/klipper${suffix}.service"
|
||||||
|
|
||||||
if [[ ! -f ${service} ]]; then
|
if [[ ! -f ${service} ]]; then
|
||||||
status_msg "Write Klipper service file ..."
|
status_msg "Create Klipper service file ..."
|
||||||
|
|
||||||
sudo cp "${service_template}" "${service}"
|
sudo cp "${service_template}" "${service}"
|
||||||
sudo cp "${env_template}" "${env_file}"
|
sudo cp "${env_template}" "${env_file}"
|
||||||
sudo sed -i "s|%USER%|${USER}|g; s|%ENV%|${KLIPPY_ENV}|; s|%ENV_FILE%|${env_file}|" "${service}"
|
sudo sed -i "s|%USER%|${USER}|g; s|%ENV%|${KLIPPY_ENV}|; s|%ENV_FILE%|${env_file}|" "${service}"
|
||||||
sudo sed -i "s|%USER%|${USER}|; s|%LOG%|${log}|; s|%CFG%|${cfg}|; s|%PRINTER%|${printer}|; s|%UDS%|${uds}|" "${env_file}"
|
sudo sed -i "s|%USER%|${USER}|; s|%LOG%|${log}|; s|%CFG%|${cfg}|; s|%PRINTER%|${klippy_serial}|; s|%UDS%|${klippy_socket}|" "${env_file}"
|
||||||
|
|
||||||
ok_msg "Klipper service file created!"
|
ok_msg "Klipper service file created!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f ${cfg} ]]; then
|
||||||
|
write_example_printer_cfg "${cfg}"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function write_example_printer_cfg() {
|
function write_example_printer_cfg() {
|
||||||
|
|||||||
Reference in New Issue
Block a user