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,