|
|
@@ -5,7 +5,9 @@ import _bs
|
|
|
import pytz
|
|
|
import datetime
|
|
|
# import time
|
|
|
-# import psycopg2.extras
|
|
|
+import psycopg2.extras
|
|
|
+
|
|
|
+import view
|
|
|
|
|
|
|
|
|
"""
|
|
|
@@ -79,3 +81,51 @@ def convert_to_date(weird_string):
|
|
|
calculated_date = datetime.datetime.strptime(str(now.year) + ' ' + weird_string, "%Y %A %d %b").date()
|
|
|
# print(calculated_date)
|
|
|
return calculated_date
|
|
|
+
|
|
|
+
|
|
|
+def send_messages(messages):
|
|
|
+ long_message = ''
|
|
|
+ leftover_message = ''
|
|
|
+ for this_message in messages:
|
|
|
+ print('this_message: {}'.format(this_message))
|
|
|
+ leftover_message = this_message
|
|
|
+ # Append message if possible
|
|
|
+ if len(long_message) + len(this_message) < 5997:
|
|
|
+ if len(long_message) == 0:
|
|
|
+ long_message = this_message
|
|
|
+ else:
|
|
|
+ long_message += '\n' + this_message
|
|
|
+ leftover_message = ''
|
|
|
+ else:
|
|
|
+ # Send long message (max 6k characters)
|
|
|
+ print('Sending very long message')
|
|
|
+ view.broadcast(long_message)
|
|
|
+ # Best would be to now store horses that were just broadcast
|
|
|
+ long_message = this_message
|
|
|
+ leftover_message = ''
|
|
|
+
|
|
|
+ # Send all messages
|
|
|
+ if len(long_message) > 0:
|
|
|
+ print('Sending long_message')
|
|
|
+ view.broadcast(long_message)
|
|
|
+ long_message = ''
|
|
|
+
|
|
|
+ # Send only or last message
|
|
|
+ if len(leftover_message) > 0:
|
|
|
+ print('Sending leftover_message')
|
|
|
+ view.broadcast(leftover_message)
|
|
|
+ leftover_message = ''
|
|
|
+
|
|
|
+
|
|
|
+def store_scratched_horses(horses, db):
|
|
|
+ query = """INSERT INTO horses(venue, race_date, race, horse)
|
|
|
+ VALUES(%s, %s, %s, %s)
|
|
|
+ ON CONFLICT(venue, race_date, race, horse) DO NOTHING;"""
|
|
|
+
|
|
|
+ cur3 = db.cursor(cursor_factory=psycopg2.extras.NamedTupleCursor)
|
|
|
+ for database_entry in horses:
|
|
|
+ cur3.execute(query, database_entry)
|
|
|
+ print('Stored: {}'.format(database_entry))
|
|
|
+ print(cur3.statusmessage)
|
|
|
+ cur3.close()
|
|
|
+ db.commit()
|