From 0c17b42e561888ef7f482cc1b5af8be51e6acae5 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Mon, 16 Jul 2018 10:05:45 -0300 Subject: [PATCH 1/2] Check for 'options' in update_repos command Fix bug introduced in https://github.com/rtfd/readthedocs.org/pull/4345 --- readthedocs/core/management/commands/update_repos.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/core/management/commands/update_repos.py b/readthedocs/core/management/commands/update_repos.py index 38d09ccb51c..94c1291fd5f 100644 --- a/readthedocs/core/management/commands/update_repos.py +++ b/readthedocs/core/management/commands/update_repos.py @@ -8,7 +8,6 @@ from __future__ import absolute_import import logging -from optparse import make_option from django.core.management.base import BaseCommand @@ -57,7 +56,8 @@ def handle(self, *args, **options): record = options['record'] force = options['force'] version = options['version'] - if args: + + if options.get('slug', []): for slug in options['slugs']: if version and version != "all": log.info("Updating version %s for %s", version, slug) From 1fd676e3af54b5c7b40a4cfb21e295092bc9d255 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Mon, 16 Jul 2018 16:54:13 -0300 Subject: [PATCH 2/2] Style with pre-commit command --- .../core/management/commands/update_repos.py | 54 +++++++++++-------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/readthedocs/core/management/commands/update_repos.py b/readthedocs/core/management/commands/update_repos.py index 94c1291fd5f..8bebad02c25 100644 --- a/readthedocs/core/management/commands/update_repos.py +++ b/readthedocs/core/management/commands/update_repos.py @@ -1,11 +1,13 @@ # -*- coding: utf-8 -*- + """ Custom management command to rebuild documentation for all projects. Invoked via ``./manage.py update_repos``. """ -from __future__ import absolute_import +from __future__ import ( + absolute_import, division, print_function, unicode_literals) import logging @@ -16,13 +18,12 @@ from readthedocs.projects import tasks from readthedocs.projects.models import Project - log = logging.getLogger(__name__) class Command(BaseCommand): - """Management command for rebuilding documentation on projects""" + """Management command for rebuilding documentation on projects.""" help = __doc__ @@ -34,7 +35,7 @@ def add_arguments(self, parser): action='store_true', dest='record', default=False, - help='Make a Build' + help='Make a Build', ) parser.add_argument( @@ -42,14 +43,14 @@ def add_arguments(self, parser): action='store_true', dest='force', default=False, - help='Force a build in sphinx' + help='Force a build in sphinx', ) parser.add_argument( '-V', dest='version', default=None, - help='Build a version, or all versions' + help='Build a version, or all versions', ) def handle(self, *args, **options): @@ -59,15 +60,20 @@ def handle(self, *args, **options): if options.get('slug', []): for slug in options['slugs']: - if version and version != "all": - log.info("Updating version %s for %s", version, slug) - for version in Version.objects.filter(project__slug=slug, slug=version): + if version and version != 'all': + log.info('Updating version %s for %s', version, slug) + for version in Version.objects.filter( + project__slug=slug, + slug=version, + ): trigger_build(project=version.project, version=version) - elif version == "all": - log.info("Updating all versions for %s", slug) - for version in Version.objects.filter(project__slug=slug, - active=True, - uploaded=False): + elif version == 'all': + log.info('Updating all versions for %s', slug) + for version in Version.objects.filter( + project__slug=slug, + active=True, + uploaded=False, + ): build_pk = None if record: @@ -83,28 +89,30 @@ def handle(self, *args, **options): pk=version.project_id, build_pk=build_pk, record=record, - version_pk=version.pk + version_pk=version.pk, ) else: p = Project.all_objects.get(slug=slug) - log.info("Building %s", p) + log.info('Building %s', p) trigger_build(project=p, force=force, record=record) else: - if version == "all": - log.info("Updating all versions") - for version in Version.objects.filter(active=True, - uploaded=False): + if version == 'all': + log.info('Updating all versions') + for version in Version.objects.filter( + active=True, + uploaded=False, + ): tasks.UpdateDocsTask().run( pk=version.project_id, record=record, force=force, - version_pk=version.pk + version_pk=version.pk, ) else: - log.info("Updating all docs") + log.info('Updating all docs') for project in Project.objects.all(): tasks.UpdateDocsTask().run( pk=project.pk, record=record, - force=force + force=force, )