<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def show_interface(enode, dev, shell=None):
 """ Show the configured parameters and stats of an interface. :param enode: Engine node to communicate with. :type enode: topology.platforms.base.BaseNode :param str dev: Unix network device name. Ex 1, 2, 3.. :rtype: dict :return: A combined dictionary as returned by both :func:`topology_lib_ip.parser._parse_ip_addr_show` :func:`topology_lib_ip.parser._parse_ip_stats_link_show` """

    assert dev

    cmd = 'ip addr list dev {ldev}'.format(ldev=dev)
    response = enode(cmd, shell=shell)

    first_half_dict = _parse_ip_addr_show(response)

    d = None
    if (first_half_dict):
        cmd = 'ip -s link list dev {ldev}'.format(ldev=dev)
        response = enode(cmd, shell=shell)
        second_half_dict = _parse_ip_stats_link_show(response)

        d = first_half_dict.copy()
        d.update(second_half_dict)
    return d