import re
import pymysql


__all__ = ['read_config', 'nextcloud_connect', 'sql_groups']


def read_config(path):
    config = {}
    pattern = re.compile(r"'(.*)'\s+=>\s+'(.*)'")
    with open(path, 'r') as f:
        for line in f:
            match = pattern.match(line.strip())
            if match:
                config[match.group(1)] = match.group(2)

    return config


def nextcloud_connect(config):
    return pymysql.connect(user=config['dbuser'],
                           password=config['dbpassword'],
                           database=config['dbname'])


def sql_groups(config, section, key='groups'):
    groups = map(str.strip, config.get(section, key).split(','))
    return "'" + ("', '".join(groups)) + "'"
