def _check_submission(self, submission):
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        while submission.processing_status not in [am.STATUS_DONE, am.STATUS_CANCELLED]:
            time.sleep(30)  # wait before next polling to avoid throttling
            submission = feeds_gw.update_feed_submission(submission)

        return submission
示例#2
0
    def _check_submission(self, submission):
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        while submission.processing_status not in [am.STATUS_DONE, am.STATUS_CANCELLED]:
            time.sleep(30)  # wait before next polling to avoid throttling
            submission = feeds_gw.update_feed_submission(submission)

        return submission
    def _check_submission(self, submission):
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        statuses = [am.STATUS_DONE, am.STATUS_CANCELLED]
        while submission.processing_status not in statuses:
            time.sleep(INTEGRATION_WAIT_TIME)
            submission = feeds_gw.update_feed_submission(submission)

        time.sleep(1)
        return submission
示例#4
0
    def _check_submission(self, submission):
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        statuses = [am.STATUS_DONE, am.STATUS_CANCELLED]
        while submission.processing_status not in statuses:
            time.sleep(INTEGRATION_WAIT_TIME)
            submission = feeds_gw.update_feed_submission(submission)

        time.sleep(1)
        return submission
    def _wait_until_submission_processed(self, submission):
        while submission.processing_status not in [am.STATUS_DONE,
                                                   am.STATUS_CANCELLED]:
            time.sleep(INTEGRATION_WAIT_TIME)
            submission = feeds_gw.update_feed_submission(submission)

        if submission.processing_status != am.STATUS_DONE:
            raise Exception('Feed {} in unexpected state {}'.format(
                submission.submission_id, submission.processing_status))

        return submission
    def _wait_until_submission_processed(self, submission):
        while submission.processing_status not in [am.STATUS_DONE,
                                                   am.STATUS_CANCELLED]:
            time.sleep(20)  # wait before next polling to avoid throttling
            submission = feeds_gw.update_feed_submission(submission)

        if submission.processing_status != am.STATUS_DONE:
            raise Exception('Feed {} in unexpected state {}'.format(
                submission.submission_id, submission.processing_status))

        return submission
示例#7
0
    def _wait_until_submission_processed(self, submission):
        while submission.processing_status not in [
                am.STATUS_DONE, am.STATUS_CANCELLED
        ]:
            time.sleep(20)  # wait before next polling to avoid throttling
            submission = feeds_gw.update_feed_submission(submission)

        if submission.processing_status != am.STATUS_DONE:
            raise Exception('Feed {} in unexpected state {}'.format(
                submission.submission_id, submission.processing_status))

        return submission
    def _wait_until_submission_processed(self, submission):
        while submission.processing_status not in [
                am.STATUS_DONE, am.STATUS_CANCELLED
        ]:
            time.sleep(INTEGRATION_WAIT_TIME)
            submission = feeds_gw.update_feed_submission(submission)

        if submission.processing_status != am.STATUS_DONE:
            raise Exception('Feed {} in unexpected state {}'.format(
                submission.submission_id, submission.processing_status))

        return submission
    def handle_noargs(self, **options):
        if options.get('list_feeds'):
            for feed in gateway.list_submitted_feeds():
                print "{0}\t\t{1}\t\t{2}".format(
                    feed['submission_id'],
                    feed['feed_type'],
                    feed['status'],
                )
            return

        submission_id = options.get('submission_id')
        if submission_id:
            submission = gateway.update_feed_submission(submission_id)

            try:
                submission = FeedSubmission.objects.get(
                    submission_id=submission_id
                )
            except FeedSubmission.DoesNotExist:
                raise CommandError(
                    "Could not find a feed submitted to Amazon with "
                    "ID #{0}".format(submission_id)
                )
            if not submission:
                raise CommandError(
                    "Updating status of feeds submission failed. Aborting "
                    "further processing."
                )

            print "Updated details for feed submission #{0}".format(
                submission.submission_id
            )

            for report in feeds.process_submission_results(submission):
                print "Processed {0} messages".format(report.processed)
                print "Successful {0} messages".format(report.successful)
                print "Processed {0} messages with errors".format(
                    report.errors
                )
                print "Processed {0} messages with warnings".format(
                    report.warnings
                )

                if report.errors or report.warnings:
                    for message in report.results.all():
                        print "{0} ({1}): {2}".format(
                            message.type,
                            message.message_code,
                            message.description
                        )
                print '=' * 80
    def test_can_be_cancelled(self):
        submissions = feeds_gw.submit_product_feed(products=[self.product], marketplaces=[self.marketplace])
        submission = submissions[0]
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        # we need to wait a bit before we can cancel the submission just to
        # make sure that it is available in the system
        time.sleep(2)
        submission = feeds_gw.cancel_submission(submission)

        # we need to wait again to make sure we get the proper result for the
        # feed submission ID
        time.sleep(5)
        submission = feeds_gw.update_feed_submission(submission)

        self.assertEquals(submission.processing_status, am.STATUS_CANCELLED)
示例#11
0
    def test_can_be_cancelled(self):
        submissions = feeds_gw.submit_product_feed(
            products=[self.product], marketplaces=[self.marketplace])
        submission = submissions[0]
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        # we need to wait a bit before we can cancel the submission just to
        # make sure that it is available in the system
        time.sleep(2)
        submission = feeds_gw.cancel_submission(submission)

        # we need to wait again to make sure we get the proper result for the
        # feed submission ID
        time.sleep(5)
        submission = feeds_gw.update_feed_submission(submission)

        self.assertEquals(submission.processing_status, am.STATUS_CANCELLED)
示例#12
0
    def handle_noargs(self, **options):
        if options.get('list_feeds'):
            for feed in gateway.list_submitted_feeds():
                print "{0}\t\t{1}\t\t{2}".format(
                    feed['submission_id'],
                    feed['feed_type'],
                    feed['status'],
                )
            return

        submission_id = options.get('submission_id')
        if submission_id:
            submission = gateway.update_feed_submission(submission_id)

            try:
                submission = FeedSubmission.objects.get(
                    submission_id=submission_id)
            except FeedSubmission.DoesNotExist:
                raise CommandError(
                    "Could not find a feed submitted to Amazon with "
                    "ID #{0}".format(submission_id))
            if not submission:
                raise CommandError(
                    "Updating status of feeds submission failed. Aborting "
                    "further processing.")

            print "Updated details for feed submission #{0}".format(
                submission.submission_id)

            for report in feeds.process_submission_results(submission):
                print "Processed {0} messages".format(report.processed)
                print "Successful {0} messages".format(report.successful)
                print "Processed {0} messages with errors".format(
                    report.errors)
                print "Processed {0} messages with warnings".format(
                    report.warnings)

                if report.errors or report.warnings:
                    for message in report.results.all():
                        print "{0} ({1}): {2}".format(message.type,
                                                      message.message_code,
                                                      message.description)
                print '=' * 80
示例#13
0
    def test_can_be_cancelled(self):
        submissions = feeds_gw.submit_product_feed(
            products=[self.product], marketplaces=[self.marketplace])
        submission = submissions[0]
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        # we need to wait a bit before we can cancel the submission just to
        # make sure that it is available in the system
        time.sleep(2)
        submission = feeds_gw.cancel_submission(submission)

        # we need to wait again to make sure we get the proper result for the
        # feed submission ID
        time.sleep(INTEGRATION_WAIT_TIME)
        submission = feeds_gw.update_feed_submission(submission)

        if submission.processing_status == am.STATUS_IN_PROGRESS:
            self.fail("submission was cancelled too late, processing was "
                      "already in progress")

        self.assertEquals(submission.processing_status, am.STATUS_CANCELLED)
示例#14
0
    def test_can_be_cancelled(self):
        submissions = feeds_gw.submit_product_feed(
            products=[self.product],
            marketplaces=[self.marketplace]
        )
        submission = submissions[0]
        self.assertEquals(submission.processing_status, am.STATUS_SUBMITTED)

        # we need to wait a bit before we can cancel the submission just to
        # make sure that it is available in the system
        time.sleep(2)
        submission = feeds_gw.cancel_submission(submission)

        # we need to wait again to make sure we get the proper result for the
        # feed submission ID
        time.sleep(INTEGRATION_WAIT_TIME)
        submission = feeds_gw.update_feed_submission(submission)

        if submission.processing_status == am.STATUS_IN_PROGRESS:
            self.fail("submission was cancelled too late, processing was "
                      "already in progress")

        self.assertEquals(submission.processing_status, am.STATUS_CANCELLED)