Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
 def confirm_site_changes(self, site_id):
     SiteChanges(site_id).clear()
     cmk.gui.watolib.sidebar_reload.need_sidebar_reload()
Exemplo n.º 7
0
 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()
Exemplo n.º 8
0
 def fixture_store(self, tmp_path):
     return SiteChanges(tmp_path / ("replication_changes_mysite.mk"))