def generate_simple_pyegg_buildout(self, source, target): egg = target.anchor egg.factories['buildout.cfg'] = JinjaTemplate egg.factories['bootstrap.py'] = JinjaTemplate if 'buildout.cfg' not in egg.keys(): egg['buildout.cfg'] = JinjaTemplate() egg['buildout.cfg'].template = templatepath('buildout.cfg.jinja') egg['buildout.cfg'].params = {'package':source.name} if 'bootstrap.py' not in egg.keys(): egg['bootstrap.py'] = JinjaTemplate() egg['bootstrap.py'].template = templatepath('bootstrap.py.jinja') egg['bootstrap.py'].params = {}
def eggdocuments(self, source, target): """Create egg ``setup.py`` and default documents. """ root = target.anchor # setup.py root.factories['setup.py'] = JinjaTemplate tgv = TaggedValues(source) version = tgv.direct('version', 'pyegg:pyegg', '1.0') project = source.name cp = tgv.direct('copyright', 'pyegg:pyegg', '') cp = cp.split(',') cp = [line.strip() for line in cp] description = tgv.direct('description', 'pyegg:pyegg', '') classifiers = tgv.direct('classifiers', 'pyegg:pyegg', '') classifiers = classifiers.split(',') classifiers = [cla.strip() for cla in classifiers] keywords = tgv.direct('keywords', 'pyegg:pyegg', '') author = tgv.direct('author', 'pyegg:pyegg', '') author_email = tgv.direct('email', 'pyegg:pyegg', '') url = tgv.direct('url', 'pyegg:pyegg', '') license_name = tgv.direct('license', 'pyegg:pyegg', '') namespace = project.split('.') namespace_packages = list() if len(namespace) > 1: for i in range(len(namespace) - 1): namespace_packages.append('"%s"' % '.'.join(namespace[:i + 1])) namespace_packages = ', '.join(namespace_packages) zip_safe = tgv.direct('zipsafe', 'pyegg:pyegg', 'False') if 'setup.py' in root: setup = root['setup.py'] else: setup = JinjaTemplate() root['setup.py'] = setup # read entry_points from token, so that other generators have the chance # to define entry_points entry_points_tok = token('entry_points', True, defs=[]) setup_dependencies = token('setup_dependencies', True, deps=[]) setup.template = templatepath('setup.py.jinja') setup.params = { 'cp': cp, 'version': version, 'project': project, 'description': description, 'classifiers': classifiers, 'keywords': keywords, 'author': author, 'author_email': author_email, 'url': url, 'license_name': license_name, 'namespace_packages': namespace_packages, 'zip_safe': zip_safe, 'setup_dependencies': setup_dependencies.deps, 'entry_points':'\n'.join(entry_points_tok.defs), } # README.rst if 'README.rst' not in root: readme = JinjaTemplate() root['README.rst'] = readme readme.template = templatepath('README.rst.jinja') readme.params = setup.params # MANIFEST.rst if 'MANIFEST.in' not in root: manifest = JinjaTemplate() root['MANIFEST.rst'] = manifest manifest.template = templatepath('MANIFEST.in.jinja') manifest.params = {} # LICENSE.rst if 'LICENSE.rst' not in root: license = JinjaTemplate() root['LICENSE.rst'] = license license.template = templatepath('LICENSE.rst.jinja') license.params = {}