From 3718abb80048edff882279800d6d01f9544e852f Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Thu, 11 Jun 2020 18:26:13 -0500 Subject: [PATCH] Project: make description shorter Next step is to migrate existing long descriptions and making this a constraint in the db. Half solves https://github.com/readthedocs/readthedocs.org/issues/3689 Closes https://github.com/readthedocs/readthedocs.org/pull/5482 --- readthedocs/core/templatetags/core_tags.py | 38 ------------------- readthedocs/projects/forms.py | 1 + .../0055_change_help_text_description.py | 18 +++++++++ readthedocs/rtd_tests/tests/test_core_tags.py | 14 ------- .../templates/core/project_details.html | 2 +- 5 files changed, 20 insertions(+), 53 deletions(-) create mode 100644 readthedocs/projects/migrations/0055_change_help_text_description.py diff --git a/readthedocs/core/templatetags/core_tags.py b/readthedocs/core/templatetags/core_tags.py index 3eb9e08beef..15405ca19b3 100644 --- a/readthedocs/core/templatetags/core_tags.py +++ b/readthedocs/core/templatetags/core_tags.py @@ -53,44 +53,6 @@ def make_document_url(project, version=None, page='', path=''): return resolve(project=project, version_slug=version, filename=filename) -@register.filter(is_safe=True) -def restructuredtext(value, short=False): - try: - from docutils.core import publish_parts - from docutils import ApplicationError - except ImportError: - if settings.DEBUG: - raise template.TemplateSyntaxError( - "Error in 'restructuredtext' filter: " - "The Python docutils library isn't installed.", - ) - return force_text(value) - else: - docutils_settings = { - 'raw_enabled': False, - 'file_insertion_enabled': False, - } - docutils_settings.update( - settings.RESTRUCTUREDTEXT_FILTER_SETTINGS, - ) - try: - parts = publish_parts( - source=force_bytes(value), - writer_name='html4css1', - settings_overrides=docutils_settings, - ) - except ApplicationError: - return force_text(value) - - out = force_text(parts['fragment']) - try: - if short: - out = out.split('\n')[0] - except IndexError: - pass - return mark_safe(out) - - @register.filter def get_project(slug): try: diff --git a/readthedocs/projects/forms.py b/readthedocs/projects/forms.py index fcfc470d12d..74837172a6b 100644 --- a/readthedocs/projects/forms.py +++ b/readthedocs/projects/forms.py @@ -174,6 +174,7 @@ class Meta: description = forms.CharField( validators=[ClassifierValidator(raises=ProjectSpamError)], required=False, + max_length=150, widget=forms.Textarea, ) diff --git a/readthedocs/projects/migrations/0055_change_help_text_description.py b/readthedocs/projects/migrations/0055_change_help_text_description.py new file mode 100644 index 00000000000..b17863950eb --- /dev/null +++ b/readthedocs/projects/migrations/0055_change_help_text_description.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.12 on 2020-06-11 23:25 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('projects', '0054_urlconf_blank'), + ] + + operations = [ + migrations.AlterField( + model_name='project', + name='description', + field=models.TextField(blank=True, help_text='Short description of this project', verbose_name='Description'), + ), + ] diff --git a/readthedocs/rtd_tests/tests/test_core_tags.py b/readthedocs/rtd_tests/tests/test_core_tags.py index 18fe5098ca2..111be2cf0f6 100644 --- a/readthedocs/rtd_tests/tests/test_core_tags.py +++ b/readthedocs/rtd_tests/tests/test_core_tags.py @@ -92,20 +92,6 @@ def test_mkdocs_index_no_directory_urls(self): url = core_tags.make_document_url(proj, LATEST, 'index', 'index.html') self.assertEqual(url, self.pip_latest_url_index) - def test_restructured_text(self): - value = '*test*' - result = core_tags.restructuredtext(value) - self.assertIn('test', result) - - def test_restructured_text_invalid(self): - value = ( - '*******\n' - 'Test\n' - '****\n\n' - ) - result = core_tags.restructuredtext(value) - self.assertEqual(result, value) - def test_escapejson(self): tests = ( ({}, '{}'), diff --git a/readthedocs/templates/core/project_details.html b/readthedocs/templates/core/project_details.html index 205d296cd2a..694f4ddbf9c 100644 --- a/readthedocs/templates/core/project_details.html +++ b/readthedocs/templates/core/project_details.html @@ -79,7 +79,7 @@

{% trans "Build a version" %}

{% trans "Description" %}

- {{ project.description|restructuredtext }} + {{ project.description }}

{% endif %}