MCPcopy Create free account
hub / github.com/WavesMan/Disable-automatic-Windows-update / pause

Method pause

python/core/services.py:36–63  ·  view source on GitHub ↗
(self, max_days: int, start_iso: str, end_iso: str)

Source from the content-addressed store, hash-verified

34 self.registry = registry
35
36 def pause(self, max_days: int, start_iso: str, end_iso: str) -> Result:
37 start = time.perf_counter()
38 log_event(logging.INFO, "update_pause_started", "开始暂停更新", action="pause_updates", status="started")
39 cmds = [
40 f'reg add "{UPDATE}" /v "FlightSettingsMaxPauseDays" /t REG_DWORD /d {max_days} /f',
41 f'reg add "{UPDATE}" /v "PauseFeatureUpdatesStartTime" /t REG_SZ /d "{start_iso}" /f',
42 f'reg add "{UPDATE}" /v "PauseFeatureUpdatesEndTime" /t REG_SZ /d "{end_iso}" /f',
43 f'reg add "{UPDATE}" /v "PauseQualityUpdatesStartTime" /t REG_SZ /d "{start_iso}" /f',
44 f'reg add "{UPDATE}" /v "PauseQualityUpdatesEndTime" /t REG_SZ /d "{end_iso}" /f',
45 f'reg add "{UPDATE}" /v "PauseUpdatesStartTime" /t REG_SZ /d "{start_iso}" /f',
46 f'reg add "{UPDATE}" /v "PauseUpdatesExpiryTime" /t REG_SZ /d "{end_iso}" /f',
47 ]
48 ok, errors = self.registry.batch(cmds)
49 duration_ms = int((time.perf_counter() - start) * 1000)
50 if ok:
51 log_event(logging.INFO, "update_pause_finished", "暂停更新完成", action="pause_updates", status="ok", duration_ms=duration_ms)
52 return Result(True, data={"status": "paused", "effective_until": end_iso})
53 log_event(
54 logging.ERROR,
55 "update_pause_finished",
56 "暂停更新失败",
57 action="pause_updates",
58 status="failed",
59 duration_ms=duration_ms,
60 error_type="REGISTRY_WRITE_FAILED",
61 error_message="; ".join(errors),
62 )
63 return Result(False, error={"code": "REGISTRY_WRITE_FAILED", "message": "部分键写入失败", "details": errors})
64
65 def resume(self) -> Result:
66 start = time.perf_counter()

Callers 2

pause_updatesFunction · 0.80
pause_updates_with_timesFunction · 0.80

Calls 3

log_eventFunction · 0.85
ResultClass · 0.85
batchMethod · 0.80

Tested by

no test coverage detected