from django.conf import settings from django_tables2 import Column, Table from django_tables2.columns.base import BoundColumn # Make the table column headings lowercase orig_Column_header = BoundColumn.header @property def format_header(self): header = orig_Column_header.__get__(self) header = header.lower() header = header.title() if header != "Ident": header = header.replace("Uuid", "UUID") header = header.replace("Id", "ID") header = header.replace("id", "ID") if header == "Ts": header = "TS" if header == "Match Ts": header = "Match TS" header = header.replace("Nsfw", "NSFW") return header BoundColumn.header = format_header class DrilldownTable(Table): id = Column() host = Column() ident = Column() nick = Column() nick_id = Column() user_id = Column() msg = Column() msg_id = Column() net = Column() net_id = Column() num = Column() src = Column() ts = Column() date = Column() time = Column() type = Column() bot = Column() channel = Column() channel_category = Column() channel_category_id = Column() channel_category_nsfw = Column() channel_id = Column() channel_nsfw = Column() guild_member_count = Column() guild = Column() guild_id = Column() mode = Column() modearg = Column() sentiment = Column() status = Column() user = Column() # version_sentiment = Column() exemption = Column() num_chans = Column() num_users = Column() online = Column() mtype = Column() realname = Column() server = Column() tokens = Column() lang_code = Column() lang_name = Column() # words_noun = Column() # words_adj = Column() # words_verb = Column() # words_adv = Column() hidden = Column() filename = Column() file_md5 = Column() file_ext = Column() file_size = Column() rule_uuid = Column() index = Column() meta = Column() match_ts = Column() mode = Column() template_name = "ui/drilldown/table_results.html" paginate_by = settings.DRILLDOWN_RESULTS_PER_PAGE