from bazbase import custom as basecust
from bazbase import flavors
from bazki import custom as kicust
from . import restricted
import os
from decorator import decorator

class stat(flavors.string):
    """A stat that appears on a character's statcard."""
    pass

@decorator
def get_template_parameters_wrap(func, format):
    ret = func(format)
    if format == 'tex':
        ret['preamble_lines'] += [
            r'\usepackage{gameki}',
            #r'\usepackage[newdimens]{labels}',
            ]
    return ret

def set_up(app_name='Gameki'):
    kicust.set_up(app_name)
    kicust.OMNISCIENT_PRED = restricted.PRED
    kicust.EDITOR_PRED = restricted.EDITOR_PRED
    kicust.GROUPS = restricted.GROUPS
    
    kicust.get_template_parameters = get_template_parameters_wrap(
        kicust.get_template_parameters)

    kicust.LATEX_SEARCH_PATHS.insert(0,
                                     os.path.join(os.path.dirname(__file__), 
                                                    'LaTeX')+"//" )
    #LATEX_END_LINES = [r'\flushpage']

    kicust.SHARED_CSS_PATHS.append('/gameki/css/gameki.css')

    flavors.FLAVORS['stat'] = stat
