@staticmethod
def _clean_weekday_param(weekday_arg):
    """
        Takes the given weekday argument from the user and returns a
        set of integers for input.
        :param weekday_arg: (int) or (str) or (list) or (tuple)
        input argument from user
        :return: (set)
        """
    _weekday_lookup = {'Monday': 0, 'Tuesday': 1, 'Wednesday': 2,
        'Thursday': 3, 'Friday': 4, 'Saturday': 5, 'Sunday': 6}
    if isinstance(weekday_arg, str):
        _cleaned_arg = {_weekday_lookup[weekday_arg.title()]}
    elif isinstance(weekday_arg, int) and weekday_arg in range(0, 7):
        _cleaned_arg = {weekday_arg}
    elif isinstance(weekday_arg, list) or isinstance(weekday_arg, tuple):
        _cleaned_arg = set()
        for w in weekday_arg:
            if isinstance(w, str):
                w = _weekday_lookup[w.title()]
            elif isinstance(w, int) and w in range(0, 7):
                w = w
            _cleaned_arg.add(w)
    return sorted(list(_cleaned_arg))
