#!/usr/bin/env python

import os
import sys
from datetime import datetime
from lighter.utils.io import create_template_file, copy_file, create_init, get_lighter_root


project_name = sys.argv[1]

# copy and prepare templates
template = {'project': project_name, 'year': datetime.now().year}


root = get_lighter_root()
template_root = os.path.join(root, 'templates')
modules = [value for value in os.listdir(template_root) if value != 'configs'
           and os.path.isdir(os.path.join(template_root, value))]

# handle python and config templates
for module in modules:
    create_template_file(project_name, 'defaults.template', 'defaults.py', template, module_name=module)
    copy_file(project_name, 'defaults.config.json', 'defaults.config.json', module_name=module)
    create_init(project_name, module)

# create root dir init
create_init(project_name)

# create modules config file
create_template_file(project_name, 'modules.config.json', 'modules.config.json', template, module_name='configs')

# handle setup.py
create_template_file(project_name, 'setup.template', 'setup.py', template)

# create tests/test_experiment.py
create_template_file(project_name, 'test_experiment.template', 'test_experiment.py', template, module_name='tests')

# copy license and readme
create_template_file(project_name, 'LICENSE', 'LICENSE', template)
create_template_file(project_name, 'README.md', 'README.md', template)
