diff --git a/readthedocs/core/management/commands/update_repos.py b/readthedocs/core/management/commands/update_repos.py index 536e4c018e2..e7ea34c8848 100644 --- a/readthedocs/core/management/commands/update_repos.py +++ b/readthedocs/core/management/commands/update_repos.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- """ Custom management command to rebuild documentation for all projects. @@ -5,14 +6,17 @@ """ from __future__ import absolute_import + import logging from optparse import make_option from django.core.management.base import BaseCommand + +from readthedocs.builds.models import Build, Version +from readthedocs.core.utils import trigger_build from readthedocs.projects import tasks from readthedocs.projects.models import Project -from readthedocs.builds.models import Version -from readthedocs.core.utils import trigger_build + log = logging.getLogger(__name__) @@ -54,9 +58,21 @@ def handle(self, *args, **options): for version in Version.objects.filter(project__slug=slug, active=True, uploaded=False): + + build_pk = None + if record: + build = Build.objects.create( + project=version.project, + version=version, + type='html', + state='triggered', + ) + build_pk = build.pk + tasks.UpdateDocsTask().run( pk=version.project_id, - record=False, + build_pk=build_pk, + record=record, version_pk=version.pk ) else: diff --git a/readthedocs/projects/management/commands/import_project_from_live.py b/readthedocs/projects/management/commands/import_project_from_live.py index 2b8f21d5be3..200d9c5c6fa 100644 --- a/readthedocs/projects/management/commands/import_project_from_live.py +++ b/readthedocs/projects/management/commands/import_project_from_live.py @@ -51,49 +51,19 @@ def handle(self, *args, **options): except Project.DoesNotExist: project = Project(slug=slug) - copy_attributes = ( - 'pub_date', - 'modified_date', - 'name', - 'description', - 'repo', - 'repo_type', - 'project_url', + exclude_attributes = ( + 'absolute_url', + 'analytics_code', 'canonical_url', - 'version', - 'copyright', - 'theme', - 'suffix', - 'single_version', - 'default_version', - 'default_branch', - 'requirements_file', - 'documentation_type', - 'allow_comments', - 'comment_moderation', - # 'analytics_code' is left out on purpose. - 'enable_epub_build', - 'enable_pdf_build', - 'conf_py_file', - 'skip', - 'mirror', - 'install_project', - 'python_interpreter', - 'use_system_packages', - 'django_packages_url', - 'privacy_level', - 'version_privacy_level', - 'language', - 'num_major', - 'num_minor', - 'num_point', + 'users', ) - for attribute in copy_attributes: - setattr(project, attribute, project_data[attribute]) + for attribute in project_data: + if attribute not in exclude_attributes: + setattr(project, attribute, project_data[attribute]) project.user = user1 project.save() if user1: project.users.add(user1) - call_command('update_repos', project.slug, version='all') + call_command('update_repos', project.slug, record=True, version='all')