traffic: add persistent app profiles (api+gui)
This commit is contained in:
@@ -34,6 +34,8 @@ from api_client import (
|
||||
TrafficCandidates,
|
||||
TrafficAppMarksResult,
|
||||
TrafficAppMarksStatus,
|
||||
TrafficAppProfile,
|
||||
TrafficAppProfileSaveResult,
|
||||
TrafficInterfaces,
|
||||
TrafficModeStatus,
|
||||
TraceDump,
|
||||
@@ -200,6 +202,9 @@ class DashboardController:
|
||||
return ["routes"]
|
||||
if k == "traffic_mode_changed":
|
||||
return ["routes", "status"]
|
||||
if k == "traffic_profiles_changed":
|
||||
# Used by Traffic mode dialog (Apps/runtime) for persistent app profiles.
|
||||
return ["routes"]
|
||||
return []
|
||||
|
||||
# -------- helpers --------
|
||||
@@ -731,6 +736,33 @@ class DashboardController:
|
||||
timeout_sec=timeout_sec,
|
||||
)
|
||||
|
||||
def traffic_app_profiles_list(self) -> List[TrafficAppProfile]:
|
||||
return self.client.traffic_app_profiles_list()
|
||||
|
||||
def traffic_app_profile_upsert(
|
||||
self,
|
||||
*,
|
||||
id: str = "",
|
||||
name: str = "",
|
||||
app_key: str = "",
|
||||
command: str,
|
||||
target: str,
|
||||
ttl_sec: int = 0,
|
||||
vpn_profile: str = "",
|
||||
) -> TrafficAppProfileSaveResult:
|
||||
return self.client.traffic_app_profile_upsert(
|
||||
id=id,
|
||||
name=name,
|
||||
app_key=app_key,
|
||||
command=command,
|
||||
target=target,
|
||||
ttl_sec=ttl_sec,
|
||||
vpn_profile=vpn_profile,
|
||||
)
|
||||
|
||||
def traffic_app_profile_delete(self, id: str) -> CmdResult:
|
||||
return self.client.traffic_app_profile_delete(id)
|
||||
|
||||
def routes_nft_progress_from_event(self, ev: Event) -> RoutesNftProgressView:
|
||||
"""
|
||||
Превращает Event(kind='routes_nft_progress') в удобную модель
|
||||
|
||||
Reference in New Issue
Block a user