def _packages_changed(key, data): solver_dict, _, variant_states_dict = data for variant_handle in solver_dict.get("variant_handles", []): variant = get_variant(variant_handle) old_state = variant_states_dict.get(variant.name) repo = variant.resource._repository new_state = repo.get_variant_state_handle(variant.resource) if old_state != new_state: self._print("%r has been modified", variant.qualified_name) return True return False
def _set_result(self, solver_dict): self.status_ = solver_dict.get("status") self.graph_ = solver_dict.get("graph") self.solve_time = solver_dict.get("solve_time") self.load_time = solver_dict.get("load_time") self.failure_description = solver_dict.get("failure_description") self.resolved_packages_ = None if self.status_ == ResolverStatus.solved: # convert solver.Variants to packages.Variants self.resolved_packages_ = [] for variant_handle in solver_dict.get("variant_handles", []): variant = get_variant(variant_handle) self.resolved_packages_.append(variant)
def _get_variant(self, variant_handle): return get_variant(variant_handle, context=self.context)