From 85ee606788d9e3ae484186819a3f150442d86a2c Mon Sep 17 00:00:00 2001 From: Von Random Date: Sat, 10 Aug 2024 04:51:58 +0300 Subject: [PATCH] update populate script, fuck if I know why --- populate | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/populate b/populate index 6710f9d..52c25be 100755 --- a/populate +++ b/populate @@ -7,31 +7,32 @@ with open('config.yml', 'r', encoding='UTF-8') as data: config = yaml.safe_load(data.read()) with open(config['response_tokens'], 'r', encoding='UTF-8') as data: valid_tokens = {item for item in yaml.safe_load(data.read())} +#with open(sys.argv[1], 'r', encoding='UTF-8') as data: +# phrases = yaml.safe_load(data.read()) with open(sys.argv[1], 'r', encoding='UTF-8') as data: - phrases = yaml.safe_load(data.read()) + names = yaml.safe_load(data.read()) with psycopg.connect(config['db_spec']) as conn: query_phrases = 'INSERT INTO responses (tokens, response) VALUES (%s, %s)' + query_names = 'INSERT INTO names (tg_id, name) VALUES (%s, %s)' with conn.cursor() as cur: - for regexref, responses in phrases.items(): - tokens = set(regexref.split(',')) - if tokens != tokens & valid_tokens: - print(f'{str(tokens)} failed to add!') - continue - token_string = ','.join(sorted(tokens)) - for response in responses: - cur.execute('SAVEPOINT sp1') - try: - cur.execute( query_phrases, (token_string, response)) - except psycopg.errors.UniqueViolation as err: - cur.execute('ROLLBACK TO SAVEPOINT sp1') - # print(err) - continue - cur.execute('RELEASE SAVEPOINT sp1') - conn.commit() - #for item in names: - # usernames = names[item] - # for username in usernames: - # cur.execute('INSERT INTO names (tg_id, name) VALUES (%s, %s)', - # (item, username)) + #for regexref, responses in phrases.items(): + # tokens = set(regexref.split(',')) + # if tokens != tokens & valid_tokens: + # print(f'{str(tokens)} failed to add!') + # continue + # token_string = ','.join(sorted(tokens)) + # for response in responses: + # cur.execute('SAVEPOINT sp1') + # try: + # cur.execute(query_phrases, (token_string, response)) + # except psycopg.errors.UniqueViolation as err: + # cur.execute('ROLLBACK TO SAVEPOINT sp1') + # # print(err) + # continue + # cur.execute('RELEASE SAVEPOINT sp1') #conn.commit() + for tg_id, usernames in names.items(): + for username in usernames: + cur.execute(query_names, (tg_id, username)) + conn.commit()