From 0186363753b7bbca4aac3464da768394883fa592 Mon Sep 17 00:00:00 2001 From: samip5 Date: Mon, 9 Apr 2018 17:20:51 +0300 Subject: [PATCH 1/7] Added the week number parameter. --- plexpy/common.py | 1 + plexpy/newsletters.py | 9 +++++++-- plexpy/notification_handler.py | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/plexpy/common.py b/plexpy/common.py index 591b33fa..cbf05c23 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -519,6 +519,7 @@ NEWSLETTER_PARAMETERS = [ 'parameters': [ {'name': 'Server Name', 'type': 'str', 'value': 'server_name', 'description': 'The name of your Plex Server.'}, {'name': 'Start Date', 'type': 'str', 'value': 'start_date', 'description': 'The start date of the newesletter.'}, + {'name': 'Week Number', 'type': 'int', 'value': 'newsletter_week_number', 'description': 'The week number of current week.'}, {'name': 'End Date', 'type': 'str', 'value': 'end_date', 'description': 'The end date of the newesletter.'}, {'name': 'Newsletter Days', 'type': 'int', 'value': 'newsletter_days', 'description': 'The past number of days included in the newsletter.'}, {'name': 'Newsletter URL', 'type': 'str', 'value': 'newsletter_url', 'description': 'The self-hosted URL to the newsletter.'}, diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index 10a09f35..179ab0b5 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -19,7 +19,7 @@ from itertools import groupby from mako.lookup import TemplateLookup from mako import exceptions import os - +import datetime import plexpy import common import database @@ -308,13 +308,14 @@ class Newsletter(object): _TEMPLATE_MASTER = '' _TEMPLATE = '' - def __init__(self, config=None, email_config=None, start_date=None, end_date=None, + def __init__(self, config=None, email_config=None, start_date=None, week_number=None, end_date=None, subject=None, body=None, message=None): self.config = self.set_config(config=config, default=self._DEFAULT_CONFIG) self.email_config = self.set_config(config=email_config, default=self._DEFAULT_EMAIL_CONFIG) self.uuid = generate_newsletter_uuid() self.start_date = None + self.week_number = None self.end_date = None if end_date: @@ -332,6 +333,9 @@ class Newsletter(object): except ValueError: pass + if week_number is None: + self.week_number = int(datetime.date.today().strftime("%W")) + if self.start_date is None: self.start_date = self.end_date.shift(days=-self.config['last_days']+1).floor('day') @@ -477,6 +481,7 @@ class Newsletter(object): 'server_name': plexpy.CONFIG.PMS_NAME, 'start_date': self.start_date.format(date_format), 'end_date': self.end_date.format(date_format), + 'newsletter_week_number': self.week_number, 'newsletter_days': self.config['last_days'], 'newsletter_url': base_url.rstrip('/') + plexpy.HTTP_ROOT + 'newsletter/' + self.uuid, 'newsletter_uuid': self.uuid diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index b3aad030..aca1b485 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -26,6 +26,7 @@ import re from string import Formatter import threading import time +from datetime import date import plexpy import activity_processor @@ -702,6 +703,7 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m 'tautulli_remote': plexpy.CONFIG.GIT_REMOTE, 'tautulli_branch': plexpy.CONFIG.GIT_BRANCH, 'tautulli_commit': plexpy.CURRENT_VERSION, + 'week_number': int(date.today().isocalendar()[1]), 'server_name': plexpy.CONFIG.PMS_NAME, 'server_ip': plexpy.CONFIG.PMS_IP, 'server_port': plexpy.CONFIG.PMS_PORT, From ab9132cdd4f1935ffabc9bf86c56decef5357e25 Mon Sep 17 00:00:00 2001 From: samip5 Date: Mon, 9 Apr 2018 17:27:13 +0300 Subject: [PATCH 2/7] Made sure the syntax is understandable. --- plexpy/common.py | 2 +- plexpy/newsletters.py | 2 +- plexpy/notification_handler.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plexpy/common.py b/plexpy/common.py index cbf05c23..2c7ccbcc 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -519,7 +519,7 @@ NEWSLETTER_PARAMETERS = [ 'parameters': [ {'name': 'Server Name', 'type': 'str', 'value': 'server_name', 'description': 'The name of your Plex Server.'}, {'name': 'Start Date', 'type': 'str', 'value': 'start_date', 'description': 'The start date of the newesletter.'}, - {'name': 'Week Number', 'type': 'int', 'value': 'newsletter_week_number', 'description': 'The week number of current week.'}, + {'name': 'Week Number', 'type': 'int', 'value': 'week_number', 'description': 'The week number of current week.'}, {'name': 'End Date', 'type': 'str', 'value': 'end_date', 'description': 'The end date of the newesletter.'}, {'name': 'Newsletter Days', 'type': 'int', 'value': 'newsletter_days', 'description': 'The past number of days included in the newsletter.'}, {'name': 'Newsletter URL', 'type': 'str', 'value': 'newsletter_url', 'description': 'The self-hosted URL to the newsletter.'}, diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index 179ab0b5..b5b12100 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -481,7 +481,7 @@ class Newsletter(object): 'server_name': plexpy.CONFIG.PMS_NAME, 'start_date': self.start_date.format(date_format), 'end_date': self.end_date.format(date_format), - 'newsletter_week_number': self.week_number, + 'week_number': self.week_number, 'newsletter_days': self.config['last_days'], 'newsletter_url': base_url.rstrip('/') + plexpy.HTTP_ROOT + 'newsletter/' + self.uuid, 'newsletter_uuid': self.uuid diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index aca1b485..6242db34 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -703,7 +703,7 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m 'tautulli_remote': plexpy.CONFIG.GIT_REMOTE, 'tautulli_branch': plexpy.CONFIG.GIT_BRANCH, 'tautulli_commit': plexpy.CURRENT_VERSION, - 'week_number': int(date.today().isocalendar()[1]), + 'week_number': int(datetime.date.today().strftime("%W")), 'server_name': plexpy.CONFIG.PMS_NAME, 'server_ip': plexpy.CONFIG.PMS_IP, 'server_port': plexpy.CONFIG.PMS_PORT, From f624908302021c6a2e3a6a56b3ce1df2b1caaa8b Mon Sep 17 00:00:00 2001 From: samip5 Date: Tue, 10 Apr 2018 12:10:32 +0300 Subject: [PATCH 3/7] Added a new branch, edited the code to include the week_number --- plexpy/common.py | 1 + plexpy/newsletters.py | 5 +---- plexpy/notification_handler.py | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/plexpy/common.py b/plexpy/common.py index 2c7ccbcc..50dc6f37 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -304,6 +304,7 @@ NOTIFICATION_PARAMETERS = [ {'name': 'Server Version', 'type': 'str', 'value': 'server_version', 'description': 'The current version of your Plex Server.'}, {'name': 'Server ID', 'type': 'str', 'value': 'server_machine_id', 'description': 'The unique identifier for your Plex Server.'}, {'name': 'Action', 'type': 'str', 'value': 'action', 'description': 'The action that triggered the notification.'}, + {'name': 'Week Number', 'type': 'int', 'value': 'week_number', 'description': 'The week number when the notfication was triggered.'}, {'name': 'Datestamp', 'type': 'str', 'value': 'datestamp', 'description': 'The date (in date format) when the notification was triggered.'}, {'name': 'Timestamp', 'type': 'str', 'value': 'timestamp', 'description': 'The time (in time format) when the notification was triggered.'}, {'name': 'Unix Time', 'type': 'int', 'value': 'unixtime', 'description': 'The unix timestamp when the notification was triggered.'}, diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index b5b12100..a8ccefed 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -308,7 +308,7 @@ class Newsletter(object): _TEMPLATE_MASTER = '' _TEMPLATE = '' - def __init__(self, config=None, email_config=None, start_date=None, week_number=None, end_date=None, + def __init__(self, config=None, email_config=None, start_date=None, end_date=None, subject=None, body=None, message=None): self.config = self.set_config(config=config, default=self._DEFAULT_CONFIG) self.email_config = self.set_config(config=email_config, default=self._DEFAULT_EMAIL_CONFIG) @@ -333,9 +333,6 @@ class Newsletter(object): except ValueError: pass - if week_number is None: - self.week_number = int(datetime.date.today().strftime("%W")) - if self.start_date is None: self.start_date = self.end_date.shift(days=-self.config['last_days']+1).floor('day') diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index 6242db34..5a124647 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -703,7 +703,6 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m 'tautulli_remote': plexpy.CONFIG.GIT_REMOTE, 'tautulli_branch': plexpy.CONFIG.GIT_BRANCH, 'tautulli_commit': plexpy.CURRENT_VERSION, - 'week_number': int(datetime.date.today().strftime("%W")), 'server_name': plexpy.CONFIG.PMS_NAME, 'server_ip': plexpy.CONFIG.PMS_IP, 'server_port': plexpy.CONFIG.PMS_PORT, @@ -712,6 +711,7 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m 'server_platform': plexpy.CONFIG.PMS_PLATFORM, 'server_version': plexpy.CONFIG.PMS_VERSION, 'action': notify_action.lstrip('on_'), + 'week_number': arrow.now().isocalendar()[1], 'datestamp': arrow.now().format(date_format), 'timestamp': arrow.now().format(time_format), 'unixtime': int(time.time()), From 9c4219b42e0d840a88a3766f25fba9de5d9282be Mon Sep 17 00:00:00 2001 From: samip5 Date: Tue, 10 Apr 2018 12:47:53 +0300 Subject: [PATCH 4/7] Edited newsletters.py It wouldn't want to work without the edit. --- plexpy/newsletters.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index a8ccefed..bf2c453e 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -308,7 +308,7 @@ class Newsletter(object): _TEMPLATE_MASTER = '' _TEMPLATE = '' - def __init__(self, config=None, email_config=None, start_date=None, end_date=None, + def __init__(self, config=None, email_config=None, start_date=None, week_number=None, end_date=None, subject=None, body=None, message=None): self.config = self.set_config(config=config, default=self._DEFAULT_CONFIG) self.email_config = self.set_config(config=email_config, default=self._DEFAULT_EMAIL_CONFIG) @@ -333,6 +333,9 @@ class Newsletter(object): except ValueError: pass + if week_number is None: + self.week_number = arrow.now().isocalendar()[1] + if self.start_date is None: self.start_date = self.end_date.shift(days=-self.config['last_days']+1).floor('day') From 3742021dccf8010fe0b18288c7cffe6af181e9de Mon Sep 17 00:00:00 2001 From: samip5 Date: Tue, 10 Apr 2018 12:58:32 +0300 Subject: [PATCH 5/7] Removed the non-needed imports. --- plexpy/newsletters.py | 2 +- plexpy/notification_handler.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index bf2c453e..94cad245 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -19,7 +19,7 @@ from itertools import groupby from mako.lookup import TemplateLookup from mako import exceptions import os -import datetime + import plexpy import common import database diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index 5a124647..d6a0e9b8 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -26,7 +26,6 @@ import re from string import Formatter import threading import time -from datetime import date import plexpy import activity_processor From eabea2deeb53cff1bad6f1ce44f07b1f3f908048 Mon Sep 17 00:00:00 2001 From: samip5 Date: Tue, 10 Apr 2018 20:07:56 +0300 Subject: [PATCH 6/7] Made the requested changes. The requested changes by JonnyWong16 in the PR request were done in this commit. --- plexpy/common.py | 2 +- plexpy/newsletters.py | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/plexpy/common.py b/plexpy/common.py index 50dc6f37..3500efc8 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -520,8 +520,8 @@ NEWSLETTER_PARAMETERS = [ 'parameters': [ {'name': 'Server Name', 'type': 'str', 'value': 'server_name', 'description': 'The name of your Plex Server.'}, {'name': 'Start Date', 'type': 'str', 'value': 'start_date', 'description': 'The start date of the newesletter.'}, - {'name': 'Week Number', 'type': 'int', 'value': 'week_number', 'description': 'The week number of current week.'}, {'name': 'End Date', 'type': 'str', 'value': 'end_date', 'description': 'The end date of the newesletter.'}, + {'name': 'Week Number', 'type': 'int', 'value': 'week_number', 'description': 'The week number of current week.'}, {'name': 'Newsletter Days', 'type': 'int', 'value': 'newsletter_days', 'description': 'The past number of days included in the newsletter.'}, {'name': 'Newsletter URL', 'type': 'str', 'value': 'newsletter_url', 'description': 'The self-hosted URL to the newsletter.'}, {'name': 'Newsletter UUID', 'type': 'str', 'value': 'newsletter_uuid', 'description': 'The unique identifier for the newsletter.'}, diff --git a/plexpy/newsletters.py b/plexpy/newsletters.py index 94cad245..f4071311 100644 --- a/plexpy/newsletters.py +++ b/plexpy/newsletters.py @@ -308,14 +308,13 @@ class Newsletter(object): _TEMPLATE_MASTER = '' _TEMPLATE = '' - def __init__(self, config=None, email_config=None, start_date=None, week_number=None, end_date=None, + def __init__(self, config=None, email_config=None, start_date=None, end_date=None, subject=None, body=None, message=None): self.config = self.set_config(config=config, default=self._DEFAULT_CONFIG) self.email_config = self.set_config(config=email_config, default=self._DEFAULT_EMAIL_CONFIG) self.uuid = generate_newsletter_uuid() self.start_date = None - self.week_number = None self.end_date = None if end_date: @@ -333,9 +332,6 @@ class Newsletter(object): except ValueError: pass - if week_number is None: - self.week_number = arrow.now().isocalendar()[1] - if self.start_date is None: self.start_date = self.end_date.shift(days=-self.config['last_days']+1).floor('day') @@ -481,7 +477,7 @@ class Newsletter(object): 'server_name': plexpy.CONFIG.PMS_NAME, 'start_date': self.start_date.format(date_format), 'end_date': self.end_date.format(date_format), - 'week_number': self.week_number, + 'week_number': self.start_date.isocalendar()[1], 'newsletter_days': self.config['last_days'], 'newsletter_url': base_url.rstrip('/') + plexpy.HTTP_ROOT + 'newsletter/' + self.uuid, 'newsletter_uuid': self.uuid From 4a62f8c39574e8bf0b4f1c4494b15da0f8f89571 Mon Sep 17 00:00:00 2001 From: samip5 Date: Tue, 10 Apr 2018 20:15:26 +0300 Subject: [PATCH 7/7] Fixed a typo. --- plexpy/common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plexpy/common.py b/plexpy/common.py index 3500efc8..19d10ecc 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -521,7 +521,7 @@ NEWSLETTER_PARAMETERS = [ {'name': 'Server Name', 'type': 'str', 'value': 'server_name', 'description': 'The name of your Plex Server.'}, {'name': 'Start Date', 'type': 'str', 'value': 'start_date', 'description': 'The start date of the newesletter.'}, {'name': 'End Date', 'type': 'str', 'value': 'end_date', 'description': 'The end date of the newesletter.'}, - {'name': 'Week Number', 'type': 'int', 'value': 'week_number', 'description': 'The week number of current week.'}, + {'name': 'Week Number', 'type': 'int', 'value': 'week_number', 'description': 'The week number of the newsletter.'}, {'name': 'Newsletter Days', 'type': 'int', 'value': 'newsletter_days', 'description': 'The past number of days included in the newsletter.'}, {'name': 'Newsletter URL', 'type': 'str', 'value': 'newsletter_url', 'description': 'The self-hosted URL to the newsletter.'}, {'name': 'Newsletter UUID', 'type': 'str', 'value': 'newsletter_uuid', 'description': 'The unique identifier for the newsletter.'},