def makeRenderer(rdrid, dp, refresh=False):
    """Creates a renderer object with the given rdrid, and attaches it the given DP.
    Failing that, creates a default renderer."""
    try:
        return available_renderers[rdrid][0](dp, refresh=refresh)
    except:
        print("""Error creating renderer %s for %s:""" % (rdrid, dp.fullpath))
        traceback.print_exc()
        return DefaultRenderer(dp)