39 lines
819 B
Python
39 lines
819 B
Python
|
|
import jinja2
|
|
from .base import TemplateProject
|
|
|
|
|
|
setup_py_template = r'''
|
|
from setuptools import setup, Extension
|
|
|
|
{{ setup_py_add }}
|
|
|
|
setup(
|
|
{{ setup_py_setup_args_add | indent(4) }}
|
|
)
|
|
'''
|
|
|
|
setup_cfg_template = r'''
|
|
[metadata]
|
|
name = spam
|
|
version = 0.1.0
|
|
|
|
{{ setup_cfg_add }}
|
|
'''
|
|
|
|
|
|
class SetuptoolsTemplateProject(TemplateProject):
|
|
def __init__(self, *, setup_py_add='', setup_py_setup_args_add='', setup_cfg_add=''):
|
|
super().__init__()
|
|
|
|
self.files.update({
|
|
'setup.py': jinja2.Template(setup_py_template),
|
|
'setup.cfg': jinja2.Template(setup_cfg_template),
|
|
})
|
|
|
|
self.template_context.update({
|
|
'setup_py_add': setup_py_add,
|
|
'setup_py_setup_args_add': setup_py_setup_args_add,
|
|
'setup_cfg_add': setup_cfg_add,
|
|
})
|