# Channer front-end from os import getenv import argparse import mysql.connector as sql CONFIG = { 'database': getenv('DATABASE_NAME'), 'password': getenv('DATABASE_PASS'), 'user': getenv('DATABASE_USER'), 'host': getenv('DATABASE_HOST'), 'port': int(getenv('DATABASE_PORT')), } def add_message_limit(limit: int): count_query = ''' SELECT channel_name, COUNT(time) FROM messages GROUP BY channel_name; ''' conn = sql.connect(**CONFIG) cursor = conn.cursor() def add_message_timeout(): pass def rm_message_limit(): pass def rm_message_timeout(): pass if __name__ == '__main__': parser = argparse.ArgumentParser( description='An optional microservice for freechat to make the messaging system more transient' ) parser.add_argument('-t', '--time-out', type=float, required=False) parser.add_argument('-m', '--message-limit', type=int, required=False) parser.add_argument('-r', '--remove' type=string, required=False, choices=['timeout', 'limit']) args = vars(parser.parse_args()) limit = args['message_limit'] timeout = args['time_out'] # timeout is given in days 30 => 30 day time limit if limit: add_message_limit(limit) if timeout: add_message_timeout(timeout) if args['remove']: remove_opts = { 'timeout': rm_message_timeout, 'limit': rm_message_limit, } remove_opts[f]()