Skip to content

Commit 09d46bc

Browse files
committed
Update center_manager.py
1 parent 721c7ce commit 09d46bc

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

pkg/src/controlman/center_manager.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import shutil as _shutil
33
import functools as _functools
44
import re as _re
5+
import stat as _stat
56

67
import controlman
78
from versionman.pep440_semver import PEP440SemVer as _PEP440SemVer
@@ -254,9 +255,13 @@ def apply_changes(self) -> None:
254255
for generated_file in generated_files:
255256
filepath_abs = self._path_root / generated_file.path if generated_file.path else None
256257
filepath_before_abs = self._path_root / generated_file.path_before if generated_file.path_before else None
257-
if generated_file.change is DynamicFileChangeType.REMOVED:
258+
if generated_file.change in (
259+
DynamicFileChangeType.REMOVED,
260+
DynamicFileChangeType.MOVED,
261+
DynamicFileChangeType.MOVED_MODIFIED
262+
):
258263
filepath_before_abs.unlink(missing_ok=True)
259-
elif generated_file.change in (
264+
if generated_file.change in (
260265
DynamicFileChangeType.ADDED,
261266
DynamicFileChangeType.MODIFIED,
262267
DynamicFileChangeType.MOVED_MODIFIED,
@@ -265,9 +270,8 @@ def apply_changes(self) -> None:
265270
filepath_abs.parent.mkdir(parents=True, exist_ok=True)
266271
with open(filepath_abs, "w") as f:
267272
f.write(f"{generated_file.content.strip()}\n")
268-
if generated_file.change in (DynamicFileChangeType.MOVED, DynamicFileChangeType.MOVED_MODIFIED):
269-
filepath_before_abs.unlink(missing_ok=True)
270-
273+
if generated_file.executable:
274+
filepath_abs.chmod(filepath_abs.stat().st_mode | _stat.S_IXUSR | _stat.S_IXGRP | _stat.S_IXOTH)
271275
self._apply_duplicates()
272276
with _logger.sectioning("CCA Synchronization Hooks"):
273277
self._hook_manager.generate(const.FUNCNAME_CC_HOOK_SYNC)

0 commit comments

Comments
 (0)