<commit_before>"""
Make a project directory with associated setup
"""

import argparse
import errno
from functools import wraps
import inspect
import logging
import os
import re
import requests
import shutil
import subprocess
import sys
import traceback

DEFAULT_LOG_LEVEL = logging.INFO
POSITIONAL_ARGUMENTS = sorted([
    ['-l', '--loglevel', logging.getLevelName(DEFAULT_LOG_LEVEL),
        'desired logging level (' +
        'case-insensitive string: DEBUG, INFO, WARNING, or ERROR'],
    ['-v', '--verbose', False, 'verbose output (logging level == INFO)'],
    ['-w', '--veryverbose', False,
        'very verbose output (logging level == DEBUG)'],
    ['-c', '--create', False, 'create directory at indicated path'],
    ['-p', '--pyvenv', False, 'create a python virtual environment'],
    ['-n', '--pyver', '3', 'version of python to use in virtual environment'],
    ['-g', '--git', False, 'create a new git repository'],
    ['-s', '--script', False, 'set up with a python script'],
    ['-k', '--package', False, 'set up as a python package'],
    ['-r', '--readme', False, 'add a readme file template'],
    ['-q', '--quiet', False, 'suppress output (logging level == CRITICAL)']
])
GITIGNORE_URLS = [
    'https://raw.githubusercontent.com/github/gitignore/master/Global/' +
    'OSX.gitignore',
    'https://raw.githubusercontent.com/github/gitignore/master/' +
    'Python.gitignore'
    ]
template_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                            'templates')
TEMPLATES = {
    'script-2': os.path.join(template_dir, 'script-template-2.py'),
    'script-3': os.path.join(template_dir, 'script-template-3.py')
}


def arglogger(func):
    """<commit_msg>add path to README template<commit_after>"""
Make a project directory with associated setup
"""

import argparse
import errno
from functools import wraps
import inspect
import logging
import os
import re
import requests
import shutil
import subprocess
import sys
import traceback

DEFAULT_LOG_LEVEL = logging.INFO
POSITIONAL_ARGUMENTS = sorted([
    ['-l', '--loglevel', logging.getLevelName(DEFAULT_LOG_LEVEL),
        'desired logging level (' +
        'case-insensitive string: DEBUG, INFO, WARNING, or ERROR'],
    ['-v', '--verbose', False, 'verbose output (logging level == INFO)'],
    ['-w', '--veryverbose', False,
        'very verbose output (logging level == DEBUG)'],
    ['-c', '--create', False, 'create directory at indicated path'],
    ['-p', '--pyvenv', False, 'create a python virtual environment'],
    ['-n', '--pyver', '3', 'version of python to use in virtual environment'],
    ['-g', '--git', False, 'create a new git repository'],
    ['-s', '--script', False, 'set up with a python script'],
    ['-k', '--package', False, 'set up as a python package'],
    ['-r', '--readme', False, 'add a readme file template'],
    ['-q', '--quiet', False, 'suppress output (logging level == CRITICAL)']
])
GITIGNORE_URLS = [
    'https://raw.githubusercontent.com/github/gitignore/master/Global/' +
    'OSX.gitignore',
    'https://raw.githubusercontent.com/github/gitignore/master/' +
    'Python.gitignore'
    ]
template_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                            'templates')
TEMPLATES = {
    'script-2': os.path.join(template_dir, 'script-template-2.py'),
    'script-3': os.path.join(template_dir, 'script-template-3.py'),
    'readme': os.path.join(template_dir, 'README.md')
}


def arglogger(func):
    """
{'fraction_non_alphanumeric': 0.1721475550471833, 'fraction_numerical': 0.0028595939376608523, 'mean_word_length': 3.5487646293888164, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '148348', 'n_tokens_mistral': 1112, 'n_tokens_neox': 1097, 'n_words': 315}