revert Merge pull request 'Remove clanModules/*' (#4202) from remove-modules into main Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4202 See: https://git.clan.lol/clan/clan-core/issues/4365 Not all modules are migrated. If they are not migrated, we need to write migration docs and please display the link to the migration docs
65 lines
1.6 KiB
Python
65 lines
1.6 KiB
Python
import json
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
def load_json(file_path: Path) -> dict[str, any]:
|
|
try:
|
|
with file_path.open("r") as file:
|
|
return json.load(file)
|
|
except FileNotFoundError:
|
|
return {}
|
|
|
|
|
|
def save_json(file_path: Path, data: dict[str, any]) -> None:
|
|
with file_path.open("w") as file:
|
|
json.dump(data, file, indent=4)
|
|
|
|
|
|
def update_json(file_path: Path, updates: dict[str, any]) -> None:
|
|
data = load_json(file_path)
|
|
data.update(updates)
|
|
save_json(file_path, data)
|
|
|
|
|
|
def config_location() -> str:
|
|
config_file = "shared_preferences.json"
|
|
config_directory = ".local/share/org.localsend.localsend_app"
|
|
config_path = Path.home() / Path(config_directory) / Path(config_file)
|
|
return config_path
|
|
|
|
|
|
def ensure_config_directory() -> None:
|
|
config_directory = Path(config_location()).parent
|
|
config_directory.mkdir(parents=True, exist_ok=True)
|
|
|
|
|
|
def load_config() -> dict[str, any]:
|
|
return load_json(config_location())
|
|
|
|
|
|
def save_config(data: dict[str, any]) -> None:
|
|
save_json(config_location(), data)
|
|
|
|
|
|
def update_username(username: str, data: dict[str, any]) -> dict[str, any]:
|
|
data["flutter.ls_alias"] = username
|
|
return data
|
|
|
|
|
|
def main(argv: list[str]) -> None:
|
|
try:
|
|
display_name = argv[1]
|
|
except IndexError:
|
|
# This is not an error, just don't update the name
|
|
print("No display name provided.")
|
|
sys.exit(0)
|
|
|
|
ensure_config_directory()
|
|
updated_data = update_username(display_name, load_config())
|
|
save_config(updated_data)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main(sys.argv[:2])
|