From eee759d0d0d9309bb2c62a24a4e568012634e4e4 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Tue, 10 Apr 2018 22:44:11 -0700 Subject: [PATCH] Log newsletter start time and end time in database --- plexpy/__init__.py | 14 +++++++++++++- plexpy/newsletter_handler.py | 9 +++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/plexpy/__init__.py b/plexpy/__init__.py index 1cb636de..af4424de 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -648,7 +648,7 @@ def dbcheck(): 'CREATE TABLE IF NOT EXISTS newsletter_log (id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp INTEGER, ' 'newsletter_id INTEGER, agent_id INTEGER, agent_name TEXT, notify_action TEXT, ' 'subject_text TEXT, body_text TEXT, message_text TEXT, start_date TEXT, end_date TEXT, ' - 'uuid TEXT UNIQUE, success INTEGER DEFAULT 0)' + 'start_time INTEGER, end_time INTEGER, uuid TEXT UNIQUE, success INTEGER DEFAULT 0)' ) # recently_added table :: This table keeps record of recently added items @@ -1477,6 +1477,18 @@ def dbcheck(): 'UPDATE notify_log SET success = 1' ) + # Upgrade newsletter_log table from earlier versions + try: + c_db.execute('SELECT start_time FROM newsletter_log') + except sqlite3.OperationalError: + logger.debug(u"Altering database. Updating database table newsletter_log.") + c_db.execute( + 'ALTER TABLE newsletter_log ADD COLUMN start_time INTEGER' + ) + c_db.execute( + 'ALTER TABLE newsletter_log ADD COLUMN end_time INTEGER' + ) + # Upgrade library_sections table from earlier versions (remove UNIQUE constraint on section_id) try: result = c_db.execute('SELECT SQL FROM sqlite_master WHERE type="table" AND name="library_sections"').fetchone() diff --git a/plexpy/newsletter_handler.py b/plexpy/newsletter_handler.py index 262cb489..556f3dab 100644 --- a/plexpy/newsletter_handler.py +++ b/plexpy/newsletter_handler.py @@ -102,6 +102,8 @@ def notify(newsletter_id=None, notify_action=None, **kwargs): message=newsletter_agent.message_formatted, start_date=newsletter_agent.start_date.format('YYYY-MM-DD'), end_date=newsletter_agent.end_date.format('YYYY-MM-DD'), + start_time=newsletter_agent.start_time, + end_time=newsletter_agent.end_time, newsletter_uuid=newsletter_agent.uuid) # Send the notification @@ -112,7 +114,8 @@ def notify(newsletter_id=None, notify_action=None, **kwargs): return True -def set_notify_state(newsletter, notify_action, subject, body, message, start_date, end_date, newsletter_uuid): +def set_notify_state(newsletter, notify_action, subject, body, message, + start_date, end_date, start_time, end_time, newsletter_uuid): if newsletter and notify_action: db = database.MonitorDatabase() @@ -128,7 +131,9 @@ def set_notify_state(newsletter, notify_action, subject, body, message, start_da 'body_text': body, 'message_text': message, 'start_date': start_date, - 'end_date': end_date} + 'end_date': end_date, + 'start_time': start_time, + 'end_time': end_time} db.upsert(table_name='newsletter_log', key_dict=keys, value_dict=values) return db.last_insert_id()