mirror of
https://github.com/dw-0/kiauh.git
synced 2026-02-10 19:27:03 +05:00
Compare commits
3 Commits
6c9a78496a
...
v6.0.11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80948edbb4 | ||
|
|
a455edba93 | ||
|
|
810ab3a2fa |
@@ -97,7 +97,7 @@ class GcodeShellCmdExtension(BaseExtension):
|
|||||||
|
|
||||||
def install_example_cfg(self, instances: List[Klipper]):
|
def install_example_cfg(self, instances: List[Klipper]):
|
||||||
cfg_dirs = [instance.base.cfg_dir for instance in instances]
|
cfg_dirs = [instance.base.cfg_dir for instance in instances]
|
||||||
# copy extension to klippy/extras
|
# copy extension to config directories
|
||||||
for cfg_dir in cfg_dirs:
|
for cfg_dir in cfg_dirs:
|
||||||
Logger.print_status(f"Create shell_command.cfg in '{cfg_dir}' ...")
|
Logger.print_status(f"Create shell_command.cfg in '{cfg_dir}' ...")
|
||||||
if check_file_exist(cfg_dir.joinpath("shell_command.cfg")):
|
if check_file_exist(cfg_dir.joinpath("shell_command.cfg")):
|
||||||
|
|||||||
@@ -24,13 +24,16 @@ from core.logger import Logger
|
|||||||
|
|
||||||
def check_file_exist(file_path: Path, sudo=False) -> bool:
|
def check_file_exist(file_path: Path, sudo=False) -> bool:
|
||||||
"""
|
"""
|
||||||
Helper function for checking the existence of a file |
|
Helper function for checking the existence of a file.
|
||||||
|
Also works with symlinks (returns False if broken) |
|
||||||
:param file_path: the absolute path of the file to check
|
:param file_path: the absolute path of the file to check
|
||||||
:param sudo: use sudo if required
|
:param sudo: use sudo if required
|
||||||
:return: True, if file exists, otherwise False
|
:return: True, if file exists, otherwise False
|
||||||
"""
|
"""
|
||||||
if sudo:
|
if sudo:
|
||||||
command = ["sudo", "find", file_path.as_posix()]
|
# -L forces find to follow symlinks
|
||||||
|
# -maxdepth = 0 avoids losing time if `file_path` is a directory
|
||||||
|
command = ["sudo", "find", "-L", file_path.as_posix(), "-maxdepth", "0"]
|
||||||
try:
|
try:
|
||||||
check_output(command, stderr=DEVNULL)
|
check_output(command, stderr=DEVNULL)
|
||||||
return True
|
return True
|
||||||
@@ -44,7 +47,16 @@ def check_file_exist(file_path: Path, sudo=False) -> bool:
|
|||||||
|
|
||||||
|
|
||||||
def create_symlink(source: Path, target: Path, sudo=False) -> None:
|
def create_symlink(source: Path, target: Path, sudo=False) -> None:
|
||||||
|
"""
|
||||||
|
Helper function to create a symlink from source to target
|
||||||
|
If the target file exists, it will be overwritten. |
|
||||||
|
:param source: the source file/directory
|
||||||
|
:param target: the target file/directory
|
||||||
|
:param sudo: use sudo if required
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
try:
|
try:
|
||||||
|
# -f forcibly creates/overwrites the symlink
|
||||||
cmd = ["ln", "-sf", source.as_posix(), target.as_posix()]
|
cmd = ["ln", "-sf", source.as_posix(), target.as_posix()]
|
||||||
if sudo:
|
if sudo:
|
||||||
cmd.insert(0, "sudo")
|
cmd.insert(0, "sudo")
|
||||||
|
|||||||
Reference in New Issue
Block a user