Example #1
0
    def handle(self, *args, **options):
        try:
            period = args[0]
        except IndexError:
            period = TvDB.WEEK

        if period not in self.periods:
            raise CommandError('Invalid period %r, should be one of %s' %
                               (period, self.args))

        updated, unknown = CatalogueUpdater(stdout=self.stdout).update(
            period=period)

        if unknown:
            stats = ' and '.join('%s %s' % (v, k)
                                 for (k, v) in unknown.items())
            self.stderr.write('There were %s that do not exist locally.' %
                              stats)

        if updated:
            msg = 'Successfully updated %s' % ' and '.join(
                '%s %s' % (len(v), k) for k, v in updated.items())
        else:
            msg = 'Nothing to update.'
        self.stdout.write(msg)
Example #2
0
def update_catalogue(request):
    if request.method == 'POST':
        form = UpdateCatalogueForm(request.POST)
        if form.is_valid():
            period = form.cleaned_data['period']

            output = StringIO()
            updated, unknown = CatalogueUpdater(stdout=output).update(
                period=period)

            period = 'last %s' % period if period != 'all' else 'everything'
            if updated:
                msg = 'Successfully updated %s (checked %s).' % (
                    ' and '.join(
                        '%s %s' % (len(v), k) for k, v in updated.items()),
                    period)
                messages.success(request, msg)

                detail = 'Updated items:\n' + output.getvalue()
                messages.info(request, linebreaksbr(detail))
            else:
                msg = 'Nothing to update (checked %s).' % period
                messages.success(request, msg)

            return HttpResponseRedirect(reverse('home'))
    else:
        form = UpdateCatalogueForm()

    return TemplateResponse(request, 'qsaui/update.html', dict(form=form))
Example #3
0
File: views.py Project: nessita/qsa
def update_catalogue(request):
    if request.method == 'POST':
        form = UpdateCatalogueForm(request.POST)
        if form.is_valid():
            period = form.cleaned_data['period']

            output = StringIO()
            updated, unknown = CatalogueUpdater(stdout=output).update(
                period=period)

            period = 'last %s' % period if period != 'all' else 'everything'
            if updated:
                msg = 'Successfully updated %s (checked %s).' % (
                    ' and '.join(
                        '%s %s' % (len(v), k) for k, v in updated.items()),
                    period)
                messages.success(request, msg)

                detail = 'Updated items:\n' + output.getvalue()
                messages.info(request, linebreaksbr(detail))
            else:
                msg = 'Nothing to update (checked %s).' % period
                messages.success(request, msg)

            return HttpResponseRedirect(reverse('home'))
    else:
        form = UpdateCatalogueForm()

    return TemplateResponse(request, 'qsaui/update.html', dict(form=form))