#!/usr/bin/env python
import os
from dm.cli.makeconfig import DomainConfigMaker

class ConfigMaker(DomainConfigMaker):

    template = """[DEFAULT]
# Base path (required, but only within some of the values below).
master_dir = /path/to/provide

# Path to folder of provided applications.
provisions_dir = %(master_dir)s/var/provisions

# Mode for generating resource locations for services.
distinguish_mode = auto

# Server name of service (defaults to platform hostname).
domain_name = provide.your.domain

[environment]
# Timezone, see platform's zoneinfo database (defaults to environment).
timezone = Europe/London

[logging]
# Path to KForge log file (required).
log_file = %(master_dir)s/var/log/kforge.log
# Log level ERROR, WARNING, or INFO (default: ERROR).
#level = INFO

[db]
# For sqlite type, set file path as db name. Otherwise for
# postgres and mysql type, set a normal database name, and
# set the user, password and host if necessary. (Required.)
#type = sqlite
#name = %(master_dir)s/var/sqlite.db
#user = kforge
#pass = 
#host = localhost
"""

    def addOptions(self, parser):
        super(ConfigMaker, self).addOptions(parser)
        parser.add_option(
            '--provisions-dir',
            dest='provisionsDir',
            help="""The path to your provisions folder.
        """)

        parser.add_option(
            '--distinuish-mode',
            dest='distinguishMode',
            help=""" Mode for generating resource locations for services.
        """)

    def addOptionLines(self, options, optionLines):
        super(ConfigMaker, self).addOptionLines(options, optionLines)
        optionLines.append('[DEFAULT]')
        if options.provisionsDir:
            optionLines.append('provisions_dir = %s' % os.path.abspath(options.provisionsDir))
        if options.distinguishMode:
            optionLines.append('distinguish_mode = %s' % options.distinguishMode)

if __name__ == '__main__':
    ConfigMaker(systemName='provide')

