Ejemplo n.º 1
0
 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']
Ejemplo n.º 2
0
 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']
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
 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']
Ejemplo n.º 5
0
 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']