def _synchronize_repository(self, request, repo_id): """ Run synchronization on a repository by ID. :param request: A synchronization request. :type request: SyncRequest :param repo_id: A repository ID. :type repo_id: str """ progress = request.progress.find_report(repo_id) skip = request.options.get(constants.SKIP_CONTENT_UPDATE_KEYWORD, False) if skip: progress.finished() return repo = model.Repository(repo_id) importer_report = repo.run_synchronization(progress, request.cancelled, request.options) if request.cancelled(): request.summary[repo_id].action = RepositoryReport.CANCELLED return progress.finished() details = importer_report['details'] for _dict in details['errors']: ne = NodeError(None) ne.load(_dict) request.summary.errors.append(ne) _report = request.summary[repo_id] _report.units.added = importer_report['added_count'] _report.units.updated = importer_report['updated_count'] _report.units.removed = importer_report['removed_count'] _report.sources = details['sources']
def _synchronize_repository(self, request, repo_id): """ Run synchronization on a repository by ID. :param request: A synchronization request. :type request: SyncRequest :param repo_id: A repository ID. :type repo_id: str """ progress = request.progress.find_report(repo_id) skip = request.options.get(constants.SKIP_CONTENT_UPDATE_KEYWORD, False) if skip: progress.finished() return repo = Repository(repo_id) importer_report = repo.run_synchronization(progress, request.cancelled, request.options) if request.cancelled(): request.summary[repo_id].action = RepositoryReport.CANCELLED return progress.finished() details = importer_report['details'] for _dict in details['errors']: ne = NodeError(None) ne.load(_dict) request.summary.errors.append(ne) _report = request.summary[repo_id] _report.units.added = importer_report['added_count'] _report.units.updated = importer_report['updated_count'] _report.units.removed = importer_report['removed_count']
def test_dict(self): report = SummaryReport() report.errors.append(NodeError(1, A=1, B=2)) report.errors.append(NodeError(2, A=10, B=20)) report.sources.total_passes = 1 report.sources.total_sources = 10 details = DownloadDetails() details.total_succeeded = 98 details.total_failed = 2 report.sources.downloads['content-world'] = details details = DownloadDetails() details.total_succeeded = 999999 details.total_failed = 0 report.sources.downloads['content-galaxy'] = details # test d = report.dict() # validation expected = { 'sources': { 'downloads': { 'content-world': { 'total_failed': 2, 'total_succeeded': 98 }, 'content-galaxy': { 'total_failed': 0, 'total_succeeded': 999999 } }, 'total_passes': 1, 'total_sources': 10 }, 'errors': [{ 'details': { 'A': 1, 'B': 2 }, 'error_id': 1 }, { 'details': { 'A': 10, 'B': 20 }, 'error_id': 2 }] } self.assertEqual(d, expected)
def _synchronize_repository(self, request, repo_id): """ Run synchronization on a repository by ID. :param request: A synchronization request. :type request: SyncRequest :param repo_id: A repository ID. :type repo_id: str """ repo = RepositoryOnChild(repo_id) progress = request.progress.find_report(repo_id) importer_report = repo.run_synchronization(progress, request.cancelled) if request.cancelled(): request.summary[repo_id].action = RepositoryReport.CANCELLED return progress.finished() details = importer_report['details'] for _dict in details['errors']: ne = NodeError(None) ne.load(_dict) request.summary.errors.append(ne) _report = request.summary[repo_id] _report.units.added = importer_report['added_count'] _report.units.updated = importer_report['updated_count'] _report.units.removed = importer_report['removed_count']