summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2023-03-31 21:52:52 +0200
committerAlfredo Tupone <tupone@gentoo.org>2023-03-31 21:53:09 +0200
commit3d870225af3c41a7b5f45f315246ec5ce70421ae (patch)
tree3a796bcf71566ac513bae72f488cf80a604a3451 /dev-python/crispy-bootstrap5
parentdev-embedded/libftdi: enable py3.11 for live ebuild (diff)
downloadgentoo-3d870225af3c41a7b5f45f315246ec5ce70421ae.tar.gz
gentoo-3d870225af3c41a7b5f45f315246ec5ce70421ae.tar.bz2
gentoo-3d870225af3c41a7b5f45f315246ec5ce70421ae.zip
dev-python/crispy-bootstrap5: new package, add 0.7
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'dev-python/crispy-bootstrap5')
-rw-r--r--dev-python/crispy-bootstrap5/Manifest1
-rw-r--r--dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild25
-rw-r--r--dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch172
-rw-r--r--dev-python/crispy-bootstrap5/metadata.xml12
4 files changed, 210 insertions, 0 deletions
diff --git a/dev-python/crispy-bootstrap5/Manifest b/dev-python/crispy-bootstrap5/Manifest
new file mode 100644
index 000000000000..f709b3c7df14
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/Manifest
@@ -0,0 +1 @@
+DIST crispy-bootstrap5-0.7.gh.tar.gz 29728 BLAKE2B 1209ab7d8340e30c71050ed60a86d8233f454c49d2f6d4fcf4f1d6be4a7d1c470c3f907211c1ee352fc3eba9a74e8152d41162e4d6f8113538eccbb3522409a5 SHA512 c73305c6661719cd45989679c33751f44b318b39f895e0328257eaffcdd52b726be9be624ebecb6bcba35635f0f615bb83e48c775e0f05c40f8f1e6e80ab737c
diff --git a/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild b/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild
new file mode 100644
index 000000000000..334d9c3af66d
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1
+
+DESCRIPTION="Bootstrap5 template pack for django-crispy-forms"
+HOMEPAGE="
+ https://pypi.org/project/crispy-bootstrap5/
+"
+SRC_URI="https://github.com/django-crispy-forms/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/django-crispy-forms[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${P}-test.patch )
diff --git a/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch b/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch
new file mode 100644
index 000000000000..914b48385437
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch
@@ -0,0 +1,172 @@
+From 69ff88bed286a76e6216a54ecf93a0b27d87bc8d Mon Sep 17 00:00:00 2001
+From: David Smith <39445562+smithdc1@users.noreply.github.com>
+Date: Thu, 15 Dec 2022 08:01:04 +0000
+Subject: [PATCH] Fixed tests for crispy-forms 2.x (#133)
+
+---
+ tests/templates/custom_field_template.html | 2 +-
+ tests/templates/custom_form_template.html | 2 +-
+ .../custom_form_template_with_context.html | 2 +-
+ tests/test_layout.py | 14 ++++++++++++--
+ tests/test_layout_objects.py | 12 ++++++++++++
+ tox.ini | 2 --
+ 6 files changed, 27 insertions(+), 7 deletions(-)
+
+diff --git a/tests/templates/custom_field_template.html b/tests/templates/custom_field_template.html
+index 4724226..04f0274 100644
+--- a/tests/templates/custom_field_template.html
++++ b/tests/templates/custom_field_template.html
+@@ -1,2 +1,2 @@
+ <h1>Special custom field</h1>
+-{% include 'bootstrap/field.html' %}
++{% include 'bootstrap5/field.html' %}
+diff --git a/tests/templates/custom_form_template.html b/tests/templates/custom_form_template.html
+index f2da757..c09b4c7 100644
+--- a/tests/templates/custom_form_template.html
++++ b/tests/templates/custom_form_template.html
+@@ -1,2 +1,2 @@
+ <h1>Special custom form</h1>
+-{% include "bootstrap/whole_uni_form.html" %}
++{% include "bootstrap5/whole_uni_form.html" %}
+diff --git a/tests/templates/custom_form_template_with_context.html b/tests/templates/custom_form_template_with_context.html
+index 2378296..477997a 100644
+--- a/tests/templates/custom_form_template_with_context.html
++++ b/tests/templates/custom_form_template_with_context.html
+@@ -1,4 +1,4 @@
+ <h1>Special custom form with context passthrough</h1>
+ Got prefix: {{ prefix }}.
+-{% include "bootstrap/whole_uni_form.html" %}
++{% include "bootstrap5/whole_uni_form.html" %}
+ Got suffix: {{ suffix }}.
+diff --git a/tests/test_layout.py b/tests/test_layout.py
+index 512facf..a2a72e8 100644
+--- a/tests/test_layout.py
++++ b/tests/test_layout.py
+@@ -16,6 +16,7 @@
+ from django.middleware.csrf import _get_new_csrf_string
+ from django.shortcuts import render
+ from django.template import Context, Template
++from django.test import override_settings
+ from django.urls import reverse
+ from django.utils.translation import gettext_lazy as _
+
+@@ -36,6 +37,12 @@
+ )
+ from .utils import contains_partial, parse_expected, parse_form
+
++CONVERTERS = {
++ "textinput": "inputtext textinput textInput",
++ "fileinput": "fileinput fileUpload",
++ "passwordinput": "textinput textInput",
++}
++
+
+ def test_invalid_unicode_characters(settings):
+ # Adds a BooleanField that uses non valid unicode characters "ñ"
+@@ -331,6 +338,7 @@ def test_bs5_field_with_buttons_css_classes():
+ assert parse_form(form) == parse_expected("field_with_buttons_failing.html")
+
+
++@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_formset_layout():
+ SampleFormSet = formset_factory(SampleForm, extra=3)
+ formset = SampleFormSet()
+@@ -523,6 +531,7 @@ def test_keepcontext_context_manager():
+ assert response.content.count(b"form-check-input") > 0
+
+
++@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_bootstrap5_form_inline():
+ form = SampleForm()
+ form.helper = FormHelper()
+@@ -557,7 +566,7 @@ def test_update_attributes_class():
+ form.helper.layout = Layout("email", Field("password1"), "password2")
+ form.helper["password1"].update_attributes(css_class="hello")
+ html = render_crispy_form(form)
+- assert html.count(' class="hello textinput') == 1
++ assert html.count(' class="hello') == 1
+ form.helper = FormHelper()
+ form.helper.layout = Layout(
+ "email",
+@@ -566,7 +575,7 @@ def test_update_attributes_class():
+ )
+ form.helper["password1"].update_attributes(css_class="hello2")
+ html = render_crispy_form(form)
+- assert html.count(' class="hello hello2 textinput') == 1
++ assert html.count(' class="hello hello2') == 1
+
+
+ def test_file_field():
+@@ -611,6 +620,7 @@ def test_html_label_escape():
+ assert "&lt;&gt;&amp;" in html
+
+
++@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_tabular_formset_layout():
+ SampleFormSet = formset_factory(SampleForm, extra=3)
+ formset = SampleFormSet()
+diff --git a/tests/test_layout_objects.py b/tests/test_layout_objects.py
+index b386c0b..0e3dde7 100644
+--- a/tests/test_layout_objects.py
++++ b/tests/test_layout_objects.py
+@@ -21,6 +21,7 @@
+ from crispy_forms.utils import render_crispy_form
+ from django import forms
+ from django.template import Context, Template
++from django.test import override_settings
+ from django.utils.translation import activate, deactivate
+ from django.utils.translation import gettext as _
+
+@@ -37,6 +38,12 @@
+ )
+ from .utils import parse_expected, parse_form
+
++CONVERTERS = {
++ "textinput": "inputtext textinput textInput",
++ "fileinput": "fileinput fileUpload",
++ "passwordinput": "textinput textInput",
++}
++
+
+ def test_field_with_custom_template():
+ test_form = SampleForm()
+@@ -202,6 +209,7 @@ def test_custom_django_widget(self):
+ html = render_crispy_form(form)
+ assert 'class="form-check-input"' in html
+
++ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_prepended_appended_text(self):
+ test_form = SampleForm()
+ test_form.helper = FormHelper()
+@@ -223,6 +231,7 @@ def test_inline_radios(self):
+ html = render_crispy_form(test_form)
+ assert html.count('form-check-inline"') == 2
+
++ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_accordion_and_accordiongroup(self):
+ random.seed(0)
+ form = SampleForm()
+@@ -269,6 +278,7 @@ def test_accordion_active_false_not_rendered(self):
+ == 0
+ )
+
++ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_bs5accordion(self):
+ random.seed(0)
+ form = SampleForm()
+@@ -315,6 +325,7 @@ def test_bs5accordion_active_false_not_rendered(self):
+ == 0
+ )
+
++ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_bs5accordion_flush(self):
+ random.seed(0)
+ test_form = SampleForm()
+@@ -329,6 +340,7 @@ def test_bs5accordion_flush(self):
+ )
+ assert parse_form(test_form) == parse_expected("accordion_flush.html")
+
++ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_bs5accordion_always_open(self):
+ random.seed(0)
+ test_form = SampleForm()
diff --git a/dev-python/crispy-bootstrap5/metadata.xml b/dev-python/crispy-bootstrap5/metadata.xml
new file mode 100644
index 000000000000..4883d99a164b
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">crispy-bootstrap5</remote-id>
+ <remote-id type="github">django-crispy-forms/crispy-bootstrap5</remote-id>
+ </upstream>
+</pkgmetadata>