script for new chan like message filter

This commit is contained in:
shockrah 2020-08-23 16:57:56 -07:00
parent bbcea10237
commit 434e5a91ad

58
chan-like/channer.py Normal file
View File

@ -0,0 +1,58 @@
# 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]()