def _confirm_synchronized_changes(self): site_changes = SiteChanges(self._site_id) changes = site_changes.load(lock=True) try: for change in changes: change["need_sync"] = False finally: site_changes.save(changes)
def _confirm_activated_changes(self): site_changes = SiteChanges(self._site_id) changes = site_changes.load(lock=True) try: changes = changes[len(self._site_changes):] finally: site_changes.save(changes)
def _load_changes_by_site(self): self._changes_by_site = {} self._migrate_old_changes() for site_id in activation_site_ids(): self._changes_by_site[site_id] = SiteChanges(site_id).load()
def get_changes_estimate(self): changes_counter = 0 for site_id in activation_site_ids(): changes_counter += len(SiteChanges(site_id).load()) if changes_counter > 10: return _("10+ changes") if changes_counter == 1: return _("1 change") elif changes_counter > 1: return _("%d changes") % changes_counter
def _migrate_old_changes(self): has_old_changes = False for site_id, status in self._repstatus.items(): if status.get("changes"): has_old_changes = True break if not has_old_changes: return repstatus = _load_replication_status(lock=True) for site_id, status in self._repstatus.items(): site_changes = SiteChanges(site_id) for change_spec in status.get("changes", []): site_changes.save_change(change_spec) try: del status["changes"] except KeyError: pass _save_replication_status(repstatus)
def confirm_site_changes(self, site_id): SiteChanges(site_id).clear() cmk.gui.watolib.sidebar_reload.need_sidebar_reload()
def _load_changes_by_site(self): self._changes_by_site = {} for site_id in activation_sites(): self._changes_by_site[site_id] = SiteChanges(site_id).load()
def fixture_store(self, tmp_path): return SiteChanges(tmp_path / ("replication_changes_mysite.mk"))