synodic-client 0.0.1.dev21__tar.gz → 0.0.1.dev23__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/PKG-INFO +1 -1
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/pyproject.toml +1 -1
- synodic_client-0.0.1.dev23/synodic_client/_version.py +1 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/updater.py +23 -2
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_updater.py +5 -4
- synodic_client-0.0.1.dev21/synodic_client/_version.py +0 -1
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/LICENSE.md +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/README.md +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/__init__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/__main__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/__init__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/icon.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/instance.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/qt.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/screen/__init__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/screen/install.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/screen/log_panel.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/screen/screen.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/screen/tray.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/theme.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/uri.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/cli.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/client.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/config.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/logging.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/protocol.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/py.typed +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/resolution.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/__init__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/conftest.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/__init__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/qt/__init__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/qt/conftest.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/qt/test_install_preview.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/qt/test_log_panel.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/qt/test_logging.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_cli.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_client_updater.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_client_version.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_config.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_examples.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_install.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_install_preview.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_resolution.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_uri.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/windows/__init__.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/windows/conftest.py +0 -0
- {synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/windows/test_protocol.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.0.1.dev23'
|
|
@@ -25,6 +25,21 @@ logger = logging.getLogger(__name__)
|
|
|
25
25
|
# Velopack automatically discovers releases from GitHub releases
|
|
26
26
|
GITHUB_REPO_URL = 'https://github.com/synodic/synodic-client'
|
|
27
27
|
|
|
28
|
+
# Map sys.platform values to Velopack channel suffixes
|
|
29
|
+
_PLATFORM_SUFFIXES: dict[str, str] = {
|
|
30
|
+
'win32': 'win',
|
|
31
|
+
'linux': 'linux',
|
|
32
|
+
'darwin': 'osx',
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def _platform_suffix() -> str:
|
|
37
|
+
"""Return the Velopack channel suffix for the current platform."""
|
|
38
|
+
try:
|
|
39
|
+
return _PLATFORM_SUFFIXES[sys.platform]
|
|
40
|
+
except KeyError:
|
|
41
|
+
raise RuntimeError(f'Unsupported platform for updates: {sys.platform}') from None
|
|
42
|
+
|
|
28
43
|
|
|
29
44
|
class UpdateChannel(StrEnum):
|
|
30
45
|
"""Update channel selection."""
|
|
@@ -83,8 +98,14 @@ class UpdateConfig:
|
|
|
83
98
|
|
|
84
99
|
@property
|
|
85
100
|
def channel_name(self) -> str:
|
|
86
|
-
"""Get the channel name for Velopack.
|
|
87
|
-
|
|
101
|
+
"""Get the channel name for Velopack.
|
|
102
|
+
|
|
103
|
+
Combines the update track (dev/stable) with a platform suffix
|
|
104
|
+
so each OS has its own release manifest and nupkg files.
|
|
105
|
+
"""
|
|
106
|
+
base = 'dev' if self.channel == UpdateChannel.DEVELOPMENT else 'stable'
|
|
107
|
+
platform_suffix = _platform_suffix()
|
|
108
|
+
return f'{base}-{platform_suffix}'
|
|
88
109
|
|
|
89
110
|
|
|
90
111
|
class Updater:
|
|
@@ -14,6 +14,7 @@ from synodic_client.updater import (
|
|
|
14
14
|
UpdateInfo,
|
|
15
15
|
Updater,
|
|
16
16
|
UpdateState,
|
|
17
|
+
_platform_suffix,
|
|
17
18
|
initialize_velopack,
|
|
18
19
|
)
|
|
19
20
|
|
|
@@ -124,15 +125,15 @@ class TestUpdateConfig:
|
|
|
124
125
|
|
|
125
126
|
@staticmethod
|
|
126
127
|
def test_channel_name_stable() -> None:
|
|
127
|
-
"""Verify STABLE channel returns 'stable' name."""
|
|
128
|
+
"""Verify STABLE channel returns platform-specific 'stable' name."""
|
|
128
129
|
config = UpdateConfig(channel=UpdateChannel.STABLE)
|
|
129
|
-
assert config.channel_name == 'stable'
|
|
130
|
+
assert config.channel_name == f'stable-{_platform_suffix()}'
|
|
130
131
|
|
|
131
132
|
@staticmethod
|
|
132
133
|
def test_channel_name_development() -> None:
|
|
133
|
-
"""Verify DEVELOPMENT channel returns 'dev' name."""
|
|
134
|
+
"""Verify DEVELOPMENT channel returns platform-specific 'dev' name."""
|
|
134
135
|
config = UpdateConfig(channel=UpdateChannel.DEVELOPMENT)
|
|
135
|
-
assert config.channel_name == 'dev'
|
|
136
|
+
assert config.channel_name == f'dev-{_platform_suffix()}'
|
|
136
137
|
|
|
137
138
|
|
|
138
139
|
@pytest.fixture
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '0.0.1.dev21'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/__init__.py
RENAMED
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/icon.py
RENAMED
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/instance.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/screen/tray.py
RENAMED
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/synodic_client/application/theme.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/qt/test_install_preview.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/test_install_preview.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{synodic_client-0.0.1.dev21 → synodic_client-0.0.1.dev23}/tests/unit/windows/test_protocol.py
RENAMED
|
File without changes
|