def possibleFilters(data): filters = {} print(uniqueLanguageAttributesInData(data)) for attributes in uniqueLanguageAttributesInData(data): tag, _, att = attributes.rpartition('/') if tag[0] == "0": filters["Whitelist " + tag + "/" + att] = Filters.WhitelistFilter(att) else: filters["Whitelist " + tag + "/" + att] = Filters.WhitelistFilterChild(tag[1:], att) for attributes in uniqueBoolAttributesInData(data): tag, _, att = attributes.rpartition('/') if tag[0] == "0": filters["Bool " + tag + "/" + att] = Filters.BoolFilter(att) else: filters["Bool " + tag + "/" + att] = Filters.BoolFilterChild( tag[1:], att) for attributes in uniqueNumAttributesInData(data): tag, _, att = attributes.rpartition('/') if tag[0] == "0": filters["Range " + tag + "/" + att] = Filters.RangeFilter(att) else: filters["Range " + tag + "/" + att] = Filters.RangeFilterChild( tag[1:], att) for attributes in uniqueTimeAttributesInData(data): tag, _, att = attributes.rpartition('/') if tag[0] == "0": filters["Date " + tag + "/" + att] = Filters.DateFilter(att) filters["Time " + tag + "/" + att] = Filters.TimeFilter(att) else: filters["Date " + tag + "/" + att] = Filters.DateFilterChild( tag[1:], att) filters["Time " + tag + "/" + att] = Filters.TimeFilterChild( tag[1:], att) return filters