# map crash database names to CrashDatabase implementations and URLs

default = 'ubuntu'

def get_oem_project():
    '''Determine OEM project name from Distribution Channel Descriptor

    Return None if it cannot be determined or does not exist.
    '''
    try:
        dcd = open('/var/lib/ubuntu_dist_channel').read()
        if dcd.startswith('canonical-oem-'):
            return dcd.split('-')[2]
    except IOError:
        return None

databases = {
    'ubuntu': { 
        'impl': 'launchpad',
        'bug_pattern_url': 'http://people.canonical.com/~ubuntu-archive/bugpatterns/bugpatterns.xml',
        'dupdb_url': 'http://people.canonical.com/~ubuntu-archive/apport-duplicates',
        'distro': 'ubuntu',
        'problem_types': ['Bug', 'Package'],
        'escalation_tag': 'bugpattern-needed',
        'escalated_tag': 'bugpattern-written',
    },
    'canonical-oem': {
        'impl': 'launchpad',
        'bug_pattern_url': 'http://people.canonical.com/~ubuntu-archive/bugpatterns/bugpatterns.xml',
        'project': get_oem_project(),
    },
    'debug': {
        # for debugging
        'impl': 'memory',
        'bug_pattern_url': '/tmp/bugpatterns.xml',
        'distro': 'debug'
    },
}
