import re


def parse_show_snmp_system(raw_result):
    """
    Parse the 'show snmp system' command raw output.

    :param str raw_result: vtysh raw result string.
    :rtype: dict
    :return: The parsed result of the show snmp system\
       command in a dictionary of the form

     ::

        {
             'System description' : 'OpenSwitchsystem
             'System location'    : 'Bangalore'
             'System contact'     :  'xyz@id.com'
        }
    """
    snmp_system_re = (
        r'\s*SNMP\ssystem\sinformation\s*'
        r'\s*-*\s*'
        r'\s*System\sdescription\s\:\s*(?P<system_description>.+)'
        r'\s*System\slocation\s\:\s*(?P<system_location>.+)'
        r'\s*System\scontact\s\:\s*(?P<system_contact>.+)'
    )

    re_result = re.match(snmp_system_re, raw_result)
    if re_result is None:
        return re_result

    result = re_result.groupdict()
    return result