def make_structure(opts):
    struct = {opts['project']: {
        '.gitignore': templates.gitignore(opts),
        opts['package']: {'__init__.py': templates.init(opts),
                          'skeleton.py': templates.skeleton(opts)},
        'tests': {'conftest.py': templates.conftest_py(opts),
                  'test_skeleton.py': templates.test_skeleton(opts)},
        'docs': {'conf.py': templates.sphinx_conf(opts),
                 'authors.rst': templates.sphinx_authors(opts),
                 'index.rst': templates.sphinx_index(opts),
                 'license.rst': templates.sphinx_license(opts),
                 'changes.rst': templates.sphinx_changes(opts),
                 'Makefile': templates.sphinx_makefile(opts),
                 '_static': {
                     '.gitignore': templates.gitignore_empty(opts)}},
        'README.rst': templates.readme(opts),
        'AUTHORS.rst': templates.authors(opts),
        'LICENSE.txt': templates.license(opts),
        'CHANGES.rst': templates.changes(opts),
        'setup.py': templates.setup_py(opts),
        'setup.cfg': templates.setup_cfg(opts),
        'requirements.txt': templates.requirements(opts),
        'test-requirements.txt': templates.test_requirements(opts),
        '.coveragerc': templates.coveragerc(opts)}}
    proj_dir = struct[opts['project']]
    if opts['travis']:
        proj_dir['.travis.yml'] = templates.travis(opts)
        proj_dir['tests']['travis_install.sh'] = templates.travis_install(opts)
    if opts['pre_commit']:
        proj_dir['.pre-commit-config.yaml'] = templates.pre_commit_config(opts)
    if opts['tox']:
        proj_dir['tox.ini'] = templates.tox(opts)
    if opts['update'] and not opts['force']:
        # Do not overwrite following files
        rules = {opts['project']: {
            '.gitignore': FileOp.NO_OVERWRITE,
            '.gitattributes': FileOp.NO_OVERWRITE,
            'setup.cfg': FileOp.NO_OVERWRITE,
            'README.rst': FileOp.NO_OVERWRITE,
            'CHANGES.rst': FileOp.NO_OVERWRITE,
            'LICENSE.txt': FileOp.NO_OVERWRITE,
            'AUTHORS.rst': FileOp.NO_OVERWRITE,
            'requirements.txt': FileOp.NO_OVERWRITE,
            'test-requirements.txt': FileOp.NO_OVERWRITE,
            '.travis.yml': FileOp.NO_OVERWRITE,
            '.coveragerc': FileOp.NO_OVERWRITE,
            '.pre-commit-config.yaml': FileOp.NO_OVERWRITE,
            'tox.ini': FileOp.NO_OVERWRITE,
            opts['package']: {'skeleton.py': FileOp.NO_CREATE},
            'tests': {'conftest.py': FileOp.NO_OVERWRITE,
                      'travis_install.sh': FileOp.NO_OVERWRITE,
                      'test_skeleton.py': FileOp.NO_CREATE},
            'docs': {'index.rst': FileOp.NO_OVERWRITE}
        }}
        struct = apply_update_rules(rules, struct)
    struct = add_namespace(opts, struct)

    return struct
Confirm the requested qos
dataset/ETHPy150Open blue-yonder/pyscaffold/pyscaffold/structure.py/make_structure--crossover with--dataset/ETHPy150Open veegee/amqpy/amqpy/channel.py/Channel._cb_basic_qos_ok