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 .base import TemplateProject # noqa
from .c import CTemplateProject # noqa from .c import new_c_project # noqa
+12 -12
View File
@@ -2,7 +2,7 @@ import jinja2
from .base import TemplateProject from .base import TemplateProject
spam_c_template = r''' SPAM_C_TEMPLATE = r'''
#include <Python.h> #include <Python.h>
{{ spam_c_top_level_add }} {{ 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 from setuptools import setup, Extension
{{ setup_py_add }} {{ setup_py_add }}
@@ -70,7 +70,7 @@ setup(
) )
''' '''
setup_cfg_template = r''' SETUP_CFG_TEMPLATE = r'''
[metadata] [metadata]
name = spam name = spam
version = 0.1.0 version = 0.1.0
@@ -79,22 +79,22 @@ version = 0.1.0
''' '''
class CTemplateProject(TemplateProject): def new_c_project(*, spam_c_top_level_add='', spam_c_function_add='', setup_py_add='',
def __init__(self, *, spam_c_top_level_add='', spam_c_function_add='', setup_py_add='',
setup_py_setup_args_add='', setup_cfg_add=''): setup_py_setup_args_add='', setup_cfg_add=''):
project = TemplateProject()
super().__init__() project.files.update({
'spam.c': jinja2.Template(SPAM_C_TEMPLATE),
self.files.update({ 'setup.py': jinja2.Template(SETUP_PY_TEMPLATE),
'spam.c': jinja2.Template(spam_c_template), 'setup.cfg': jinja2.Template(SETUP_CFG_TEMPLATE),
'setup.py': jinja2.Template(setup_py_template),
'setup.cfg': jinja2.Template(setup_cfg_template),
}) })
self.template_context.update({ project.template_context.update({
'spam_c_top_level_add': spam_c_top_level_add, 'spam_c_top_level_add': spam_c_top_level_add,
'spam_c_function_add': spam_c_function_add, 'spam_c_function_add': spam_c_function_add,
'setup_py_add': setup_py_add, 'setup_py_add': setup_py_add,
'setup_py_setup_args_add': setup_py_setup_args_add, 'setup_py_setup_args_add': setup_py_setup_args_add,
'setup_cfg_add': setup_cfg_add, 'setup_cfg_add': setup_cfg_add,
}) })
return project
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap import textwrap
import platform import platform
from .template_projects import CTemplateProject from . import template_projects
from . import utils from . import utils
basic_project = CTemplateProject( basic_project = template_projects.new_c_project(
setup_py_add=textwrap.dedent(''' setup_py_add=textwrap.dedent('''
import os import os
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap import textwrap
from . import utils 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''' setup_py_add=textwrap.dedent(r'''
import sys, os import sys, os
+2 -2
View File
@@ -1,7 +1,7 @@
from .template_projects.c import CTemplateProject from . import template_projects
from . import utils from . import utils
before_test_project = CTemplateProject() before_test_project = template_projects.new_c_project()
before_test_project.files['test/spam_test.py'] = r''' before_test_project.files['test/spam_test.py'] = r'''
import sys import sys
import os import os
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap import textwrap
from . import utils 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''' setup_py_add=textwrap.dedent(r'''
# explode if run on Python 2.7 or Python 3.7 (these should be skipped) # explode if run on Python 2.7 or Python 3.7 (these should be skipped)
if sys.version_info[0:2] == (2, 7): if sys.version_info[0:2] == (2, 7):
+2 -2
View File
@@ -5,10 +5,10 @@ import textwrap
import cibuildwheel.util import cibuildwheel.util
from . import utils 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''' setup_py_add=textwrap.dedent(r'''
import subprocess import subprocess
import os import os
+2 -2
View File
@@ -4,9 +4,9 @@ import textwrap
import pytest import pytest
from . import utils 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''' setup_py_add=textwrap.dedent(r'''
import os, sys import os, sys
+3 -3
View File
@@ -3,10 +3,10 @@ import pytest
import subprocess import subprocess
import textwrap import textwrap
from . import utils 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''' setup_py_add=textwrap.dedent(r'''
import os import os
@@ -47,7 +47,7 @@ def test(tmp_path):
def test_overridden_path(tmp_path): def test_overridden_path(tmp_path):
project_dir = tmp_path / 'project' project_dir = tmp_path / 'project'
output_dir = tmp_path / 'output' output_dir = tmp_path / 'output'
CTemplateProject().generate(project_dir) new_c_project().generate(project_dir)
output_dir.mkdir() output_dir.mkdir()
# mess up PATH, somehow # mess up PATH, somehow
+2 -2
View File
@@ -4,10 +4,10 @@ import textwrap
import pytest import pytest
from . import utils from . import utils
from .template_projects import CTemplateProject from . import template_projects
# TODO: specify these at runtime according to manylinux_image # 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''' spam_c_top_level_add=textwrap.dedent(r'''
#include <malloc.h> #include <malloc.h>
+2 -2
View File
@@ -1,9 +1,9 @@
import textwrap import textwrap
from . import utils 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''' setup_py_add=textwrap.dedent(r'''
import ssl import ssl
import sys import sys
+2 -2
View File
@@ -4,11 +4,11 @@ import jinja2
from . import utils from . import utils
from .template_projects import TemplateProject 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 = 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_top_level_add'] = ''
subdir_package_project.template_context['spam_c_function_add'] = '' subdir_package_project.template_context['spam_c_function_add'] = ''
+2 -2
View File
@@ -5,9 +5,9 @@ import textwrap
import pytest import pytest
from . import utils 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''' setup_cfg_add=textwrap.dedent(r'''
[options.extras_require] [options.extras_require]
test = nose test = nose