export partlist by eagle, then return it

    :param input: .sch or .brd file name
    :param timeout: int
    :param showgui: Bool, True -> do not hide eagle GUI
    :rtype: string

def raw_partlist(input, timeout=20, showgui=False):
    '''export partlist by eagle, then return it

    :param input: .sch or .brd file name
    :param timeout: int
    :param showgui: Bool, True -> do not hide eagle GUI
    :rtype: string
    '''

    output = tempfile.NamedTemporaryFile(
        prefix='eagexp_', suffix='.partlist', delete=0).name
    export_partlist_to_file(
        input=input, output=output, timeout=timeout, showgui=showgui)
    s = Path(output).text(encoding='latin1')
    os.remove(output)
    return s