def blosxom_file_list_handler(args):
    """This is the default handler for getting entries.  It takes the
    request object in and figures out which entries based on the
    default behavior that we want to show and generates a list of
    EntryBase subclass objects which it returns.

    :param args: dict containing the incoming Request object

    :returns: the content we want to render
    """
    request = args["request"]

    data = request.get_data()
    config = request.get_configuration()

    if data['bl_type'] == 'entry_list':
        filelist = tools.get_entries(
            config, data['root_datadir'], int(config['depth']))
    elif data['bl_type'] == 'entry':
        filelist = [data['root_datadir']]
    else:
        filelist = []

    entrylist = [FileEntry(request, e, data["root_datadir"]) for e in filelist]

    # if we're looking at a set of archives, remove all the entries
    # that aren't in the archive
    if data.get("pi_yr"):
        datestr = "%s%s%s" % (data["pi_yr"],
                              data.get("pi_mo", ""),
                              data.get("pi_da", ""))
        entrylist = [
            x for x in entrylist
            if (time.strftime("%Y%m%d%H%M%S", x["timetuple"])
                .startswith(datestr))]

    args = {"request": request, "entry_list": entrylist}
    entrylist = tools.run_callback("sortlist",
                                   args,
                                   donefunc=lambda x: x is not None,
                                   defaultfunc=blosxom_sort_list_handler)

    args = {"request": request, "entry_list": entrylist}
    entrylist = tools.run_callback("truncatelist",
                                   args,
                                   donefunc=lambda x: x is not None,
                                   defaultfunc=blosxom_truncate_list_handler)

    return entrylist