human
Solve the following python programming problem given the following code:
@register.filter
def sort_by(items, attr):
assistant
#Here is the Python program you requested.

    """General sort filter - sorts by either attribute or key.
    """
    def key_func(item):
        try:
            return getattr(item, attr)
        except AttributeError:
            try:
                return item[attr]
            except TypeError:
                getattr(item, attr)
    return sorted(items, key=key_func)