Remove TemplateProject subclassing

This commit is contained in:
Joe Rickerby
2020-05-15 12:28:34 +01:00
parent 0411fcc2ae
commit 2e8fe841ec
13 changed files with 43 additions and 43 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
from .base import TemplateProject # noqa
from .c import CTemplateProject # noqa
from .c import new_c_project # noqa
+19 -19
View File
@@ -2,7 +2,7 @@ import jinja2
from .base import TemplateProject
spam_c_template = r'''
SPAM_C_TEMPLATE = r'''
#include <Python.h>
{{ spam_c_top_level_add }}
@@ -59,7 +59,7 @@ MOD_INIT(spam)
}
'''
setup_py_template = r'''
SETUP_PY_TEMPLATE = r'''
from setuptools import setup, Extension
{{ setup_py_add }}
@@ -70,7 +70,7 @@ setup(
)
'''
setup_cfg_template = r'''
SETUP_CFG_TEMPLATE = r'''
[metadata]
name = spam
version = 0.1.0
@@ -79,22 +79,22 @@ version = 0.1.0
'''
class CTemplateProject(TemplateProject):
def __init__(self, *, spam_c_top_level_add='', spam_c_function_add='', setup_py_add='',
setup_py_setup_args_add='', setup_cfg_add=''):
def new_c_project(*, spam_c_top_level_add='', spam_c_function_add='', setup_py_add='',
setup_py_setup_args_add='', setup_cfg_add=''):
project = TemplateProject()
super().__init__()
project.files.update({
'spam.c': jinja2.Template(SPAM_C_TEMPLATE),
'setup.py': jinja2.Template(SETUP_PY_TEMPLATE),
'setup.cfg': jinja2.Template(SETUP_CFG_TEMPLATE),
})
self.files.update({
'spam.c': jinja2.Template(spam_c_template),
'setup.py': jinja2.Template(setup_py_template),
'setup.cfg': jinja2.Template(setup_cfg_template),
})
project.template_context.update({
'spam_c_top_level_add': spam_c_top_level_add,
'spam_c_function_add': spam_c_function_add,
'setup_py_add': setup_py_add,
'setup_py_setup_args_add': setup_py_setup_args_add,
'setup_cfg_add': setup_cfg_add,
})
self.template_context.update({
'spam_c_top_level_add': spam_c_top_level_add,
'spam_c_function_add': spam_c_function_add,
'setup_py_add': setup_py_add,
'setup_py_setup_args_add': setup_py_setup_args_add,
'setup_cfg_add': setup_cfg_add,
})
return project
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap
import platform
from .template_projects import CTemplateProject
from . import template_projects
from . import utils
basic_project = CTemplateProject(
basic_project = template_projects.new_c_project(
setup_py_add=textwrap.dedent('''
import os
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
project_with_before_build_asserts = CTemplateProject(
project_with_before_build_asserts = template_projects.new_c_project(
setup_py_add=textwrap.dedent(r'''
import sys, os
+2 -2
View File
@@ -1,7 +1,7 @@
from .template_projects.c import CTemplateProject
from . import template_projects
from . import utils
before_test_project = CTemplateProject()
before_test_project = template_projects.new_c_project()
before_test_project.files['test/spam_test.py'] = r'''
import sys
import os
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
project_with_skip_asserts = CTemplateProject(
project_with_skip_asserts = template_projects.new_c_project(
setup_py_add=textwrap.dedent(r'''
# explode if run on Python 2.7 or Python 3.7 (these should be skipped)
if sys.version_info[0:2] == (2, 7):
+2 -2
View File
@@ -5,10 +5,10 @@ import textwrap
import cibuildwheel.util
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
project_with_expected_version_checks = CTemplateProject(
project_with_expected_version_checks = template_projects.new_c_project(
setup_py_add=textwrap.dedent(r'''
import subprocess
import os
+2 -2
View File
@@ -4,9 +4,9 @@ import textwrap
import pytest
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
dockcross_only_project = CTemplateProject(
dockcross_only_project = template_projects.new_c_project(
setup_py_add=textwrap.dedent(r'''
import os, sys
+3 -3
View File
@@ -3,10 +3,10 @@ import pytest
import subprocess
import textwrap
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
project_with_environment_asserts = CTemplateProject(
project_with_environment_asserts = template_projects.new_c_project(
setup_py_add=textwrap.dedent(r'''
import os
@@ -47,7 +47,7 @@ def test(tmp_path):
def test_overridden_path(tmp_path):
project_dir = tmp_path / 'project'
output_dir = tmp_path / 'output'
CTemplateProject().generate(project_dir)
new_c_project().generate(project_dir)
output_dir.mkdir()
# mess up PATH, somehow
+2 -2
View File
@@ -4,10 +4,10 @@ import textwrap
import pytest
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
# TODO: specify these at runtime according to manylinux_image
project_with_manylinux_symbols = CTemplateProject(
project_with_manylinux_symbols = template_projects.new_c_project(
spam_c_top_level_add=textwrap.dedent(r'''
#include <malloc.h>
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
project_with_ssl_tests = CTemplateProject(
project_with_ssl_tests = template_projects.new_c_project(
setup_py_add=textwrap.dedent(r'''
import ssl
import sys
+2 -2
View File
@@ -4,11 +4,11 @@ import jinja2
from . import utils
from .template_projects import TemplateProject
from .template_projects.c import spam_c_template
from .template_projects.c import SPAM_C_TEMPLATE
subdir_package_project = TemplateProject()
subdir_package_project.files['src/spam/spam.c'] = jinja2.Template(spam_c_template)
subdir_package_project.files['src/spam/spam.c'] = jinja2.Template(SPAM_C_TEMPLATE)
subdir_package_project.template_context['spam_c_top_level_add'] = ''
subdir_package_project.template_context['spam_c_function_add'] = ''
+2 -2
View File
@@ -5,9 +5,9 @@ import textwrap
import pytest
from . import utils
from .template_projects import CTemplateProject
from . import template_projects
project_with_a_test = CTemplateProject(
project_with_a_test = template_projects.new_c_project(
setup_cfg_add=textwrap.dedent(r'''
[options.extras_require]
test = nose