| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import os
- import psycopg
- import re
- from datetime import date
- from datetime import timedelta
- from pprint import pprint
- from dotenv import load_dotenv
- import model
- import test_suite
- import view
- if __name__ == '__main__':
- load_dotenv(verbose=True)
- cur = None
- try:
- conn = psycopg.connect(user=os.getenv('db_user'),
- password=os.getenv('db_password'),
- host=os.getenv('db_host'),
- port=os.getenv('db_port'),
- dbname=os.getenv('db_database'))
- cur = conn.cursor()
- query = model.get_events()
- results = model.database_select(cur, query)
- pprint(results)
- broadcast = []
- for result in results:
- is_broadcast = model.is_broadcast(cur, result[0])
- if not is_broadcast:
- news_text = ''
- if 'left the faction' in result[2] and result[4] == 'Monarch HQ':
- news_text = '<@&330154598151225354> '
- news_text += '`'+result[3]+"`: "+result[2]
- text = model.create_links(news_text)
- text = model.escape_markdown(text)
- print(result[1])
- print(text)
- view.broadcast(text)
- # experimental
- if 'has applied to join the faction' in result[2]:
- print('[experimental] new application')
- regex = re.compile(r'<a href = "?https?://www\.torn\.com/profiles\.php\?XID=(\d+)"?>')
- match = regex.match(result[2])
- regex = re.compile(r'>(.+)<\/>')
- member_name_match = regex.match(result[2])
- member_name = ''
- if member_name_match:
- member_name = member_name_match.group(1)
- if match:
- new_member = match.group(1)
- print(f'new_member: {new_member}')
- # beautiful_table = test_suite.get_table(new_member, member_name)
- # print(beautiful_table)
- # view.broadcast(beautiful_table)
- pprint(result)
- model.record_broadcast(cur, result[0])
- conn.commit()
- except (Exception, psycopg.Error) as error:
- print("PostgreSQL error from psycopg:", error)
|