new job for channer build

- removing unused code
This commit is contained in:
shockrah 2021-02-17 17:24:28 -08:00
parent dd61d7e6dd
commit 035fdd6a36
2 changed files with 22 additions and 92 deletions

View File

@ -90,6 +90,28 @@ test-json-api:
expire_in: 1 week expire_in: 1 week
name: json-api name: json-api
build-channer:
stage: build
only:
refs:
- master
changes:
- chan-like/Cargo.*
- chan-like/src/main.rs
script:
- cd chan-like/
- cargo build --release
artifacts:
paths:
- json-api/target/
- $CARGO_HOME
expire_in: 1 week
build-wiki: build-wiki:
image: shockrah/website:latest image: shockrah/website:latest

View File

@ -1,92 +0,0 @@
# Channer front-end
from time import time
from os import getenv
import argparse
import mysql.connector as sql
def _format_cfg(config: dict):
# NOTE: we' assuming that the config is _not_ malformed here
return {
'user': config['DATABASE_USER'],
'password': config['DATABASE_PASS'],
'host': config['DATABASE_HOST'],
'database': config['DATABASE_NAME'],
'port': config['DATABASE_PORT']
}
def remove_old(config: dict, limit: int):
config = _format_cfg(config)
count_query = 'DELETE FROM messages WHERE time < ?'
# TODO: don't remove pinned items
max_age = int(time()) - (limit * 24 * 3600)
query = ('DELETE FROM messages WHERE time < %s')
params = (max_age,)
conn = sql.connect(**config)
cursor = conn.cursor(prepared=True)
cursor.execute(count_query, params)
conn.commit()
cursor.close()
conn.close()
return 0
def message_timeout():
pass
def read_config(path: str) -> dict:
pairs = {}
with open(path, 'r') as cfg:
# Line format key=value
for line in cfg:
if line.startswith('#'):
continue
line = line.strip()
key = line[:line.find('=')]
value = line[line.find('=')+1:]
pairs[key] = value
if 'DATABASE_PORT' not in pairs:
raise KeyError('DATABASE_PORT missing from `.env` file')
else:
pairs['DATABASE_PORT'] = int(pairs['DATABASE_PORT'])
assert('DATABASE_URL' in pairs)
assert('DATABASE_NAME' in pairs)
assert('DATABASE_PASS' in pairs)
assert('DATABASE_USER' in pairs)
assert('DATABASE_HOST' in pairs)
assert('DATABASE_PORT' in pairs)
return pairs
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='A script which can be setup as a chronjob to make messaging'
' similar to how image boards clean up threads'
)
parser.add_argument('-m', '--max-age-days',
help='Sets the value of how old messages are allowed to be (in days)',
type=int,
default=7,
required=False)
parser.add_argument('-f', '---file-env', type=str, required=True)
args = vars(parser.parse_args())
timeout = args['max_age_days']
config = read_config(args['file_env'])
exit(remove_old(config, timeout))