Files
simple-nanoshare/cli/nanoshare_client/config.py
T
daniel156161 73fdeacbfe
Build and Push Docker Container / build-and-push (push) Successful in 2m25s
feat!: adopt Python 3.14 and 3.15 language features
- Require Python 3.15 for the server and Python 3.14 for the CLI.
- Match the server requirement to quart_common's Python 3.15 features.
- Replace future annotations with native deferred evaluation.
- Defer CLI command dependencies and QR imports on Python 3.15.
- Enable argparse suggestions for mistyped CLI commands.
- Remove the obsolete tomllib import fallback.
- Update my_helpers and quart_common submodule references.
- Lock test dependencies and exclude them from Docker installations.
- Add regression coverage for lazy imports and deferred annotations.
- Document runtime requirements and standalone CLI validation.
- Validate 276 tests on Python 3.15 and 18 CLI tests on Python 3.14.

BREAKING CHANGE: The server now requires Python 3.15+ and the standalone CLI requires Python 3.14+.
2026-10-26 14:47:29 +01:00

19 lines
550 B
Python

from pathlib import Path
DEFAULT_CONFIG = Path('~/.config/nanoshare/config.toml').expanduser()
def write_config(path: Path, *, node: str, url: str, refresh_token: str, token_url: str, source: str = 'nanoshare-cli') -> None:
path = path.expanduser()
path.parent.mkdir(parents=True, exist_ok=True)
content = '\n'.join([
f'source = "{source}"',
f'refresh_token = "{refresh_token}"',
f'token_url = "{token_url}"',
'',
'[nodes]',
f'{node} = "{url.rstrip("/")}"',
'',
])
path.write_text(content)
path.chmod(0o600)