コード例 #1
0
ファイル: import_eventful.py プロジェクト: danbretl/mid-tier
    def handle(self, **options):
        options = dict_from_values(options)
        paginator_kwargs = dict((key, options[key]) for key in
                filter(options.has_key, ('total_pages', 'start_page',
                    'interactive','silent_fail')))
        consumer_kwargs = dict((key, options[key]) for key in filter(options.has_key, ('mock_api', 'trust')))
        client_kwargs = dict((key, options[key]) for key in filter(options.has_key, ('make_dumps',)))

        # mux up settings with overrides
        query_kwargs = dict((key, options[key]) for key in filter(options.has_key, ('page_size',)))
        mux_query_kwargs = dict(conf.IMPORT_PARAMETERS, **query_kwargs)

        # do work
#        try:
        paginator = EventfulPaginator(client_kwargs=client_kwargs,
                query_kwargs=mux_query_kwargs, consumer_kwargs=consumer_kwargs, **paginator_kwargs)
        results = paginator.import_events()

        # FIXME should prolly happen automagically elsewhere
        for e in Event.objects.filter(id__in=[event_id for created, event_id in results]):
            e.save()

        #        except Exception, e:
        #            raise CommandError(e)
        #        else:
        created_events_count = reduce(lambda count, result: count + int(result[0]), results, 0)
        self.stdout.write('Successfully imported eventful API results: %i total | %i created.\n' % (
            len(results), created_events_count)
        )
コード例 #2
0
ファイル: import_eventful.py プロジェクト: danbretl/mid-tier
    def handle(self, **options):
        options = dict_from_values(options)
        paginator_kwargs = dict(
            (key, options[key])
            for key in filter(options.has_key, ('total_pages', 'start_page',
                                                'interactive', 'silent_fail')))
        consumer_kwargs = dict(
            (key, options[key])
            for key in filter(options.has_key, ('mock_api', 'trust')))
        client_kwargs = dict(
            (key, options[key])
            for key in filter(options.has_key, ('make_dumps', )))

        # mux up settings with overrides
        query_kwargs = dict(
            (key, options[key])
            for key in filter(options.has_key, ('page_size', )))
        mux_query_kwargs = dict(conf.IMPORT_PARAMETERS, **query_kwargs)

        # do work
        #        try:
        paginator = EventfulPaginator(client_kwargs=client_kwargs,
                                      query_kwargs=mux_query_kwargs,
                                      consumer_kwargs=consumer_kwargs,
                                      **paginator_kwargs)
        results = paginator.import_events()

        # FIXME should prolly happen automagically elsewhere
        for e in Event.objects.filter(
                id__in=[event_id for created, event_id in results]):
            e.save()

        #        except Exception, e:
        #            raise CommandError(e)
        #        else:
        created_events_count = reduce(
            lambda count, result: count + int(result[0]), results, 0)
        self.stdout.write(
            'Successfully imported eventful API results: %i total | %i created.\n'
            % (len(results), created_events_count))