Source code for skelpy.makers.setup_cfg

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""This module defines :class:`SetupCfgMaker` class."""

from __future__ import absolute_import, print_function

import os

from skelpy.utils import helpers
from . import settings
from .base import BaseMaker


[docs]class SetupCfgMaker(BaseMaker): """*Maker* class to creates ``setup.cfg`` in the project directory. Args: projectDir (str): absolute path of project directory to be created. projectName (str): project name format (str): package format. See :class:`PackageMaker`. force (bool): whether to overwrite if ``setup.cfg`` already exists test (str): testing tool to use. i.e., ``unittest`` or ``pytest`` See :class:`TestMaker`. """ def __init__(self, projectDir, projectName, format, quiet, force, test, **kwargs): self.projectDir = projectDir self.projectName = projectName self.format = format self.quiet = quiet self.force = force self.test = test self._update_settings() def _update_settings(self): """update :attr:`maker.settings` dictionary""" info = { 'package_dir': '.' if self.format == 'basic' else 'src', 'pytest': 'pytest' if self.test == 'pytest' else '', 'pytest_runner': 'pytest-runner' if self.test == 'pytest' else '', 'pytest_alias': 'test = pytest\n' if self.test == 'pytest' else '', 'python_version': helpers.get_python_version(), 'python_version_short': helpers.get_python_version(short=True), } settings.update(info)
[docs] def generate(self): """Worker method of :class:`SetupCfgMaker`""" return self.write_file('setup_cfg', os.path.join(self.projectDir, 'setup.cfg'))