diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html
index 8654f99a..6a08097b 100644
--- a/data/interfaces/default/settings.html
+++ b/data/interfaces/default/settings.html
@@ -810,10 +810,18 @@ available_notification_agents = notifiers.available_notification_agents()
{season_num} |
The season number for the media item if item is episode. |
+
+ {season_num00} |
+ The two digit season number. |
+
{episode_num} |
The episode number for the media item if item is episode. |
+
+ {episode_num00} |
+ The two digit episode number. |
+
{rating} |
The rating (out of 10) for the item. |
diff --git a/init-scripts/init.freenas b/init-scripts/init.freenas
new file mode 100644
index 00000000..62f5d3fc
--- /dev/null
+++ b/init-scripts/init.freenas
@@ -0,0 +1,80 @@
+#!/bin/sh
+#
+# PROVIDE: plexpy
+# REQUIRE: DAEMON sabnzbd
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# plexpy_enable (bool): Set to NO by default.
+# Set it to YES to enable it.
+# plexpy_user: The user account PlexPy daemon runs as what
+# you want it to be. It uses '_sabnzbd' user by
+# default. Do not sets it as empty or it will run
+# as root.
+# plexpy_dir: Directory where PlexPy lives.
+# Default: /usr/local/plexpy
+# plexpy_chdir: Change to this directory before running PlexPy.
+# Default is same as plexpy_dir.
+# plexpy_pid: The name of the pidfile to create.
+# Default is plexpy.pid in plexpy_dir.
+PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
+
+. /etc/rc.subr
+
+name="plexpy"
+rcvar=${name}_enable
+
+load_rc_config ${name}
+
+: ${plexpy_enable:="NO"}
+: ${plexpy_user:="_sabnzbd"}
+: ${plexpy_dir:="/usr/local/share/plexpy"}
+: ${plexpy_chdir:="${plexpy_dir}"}
+: ${plexpy_pid:="${plexpy_dir}/plexpy.pid"}
+
+status_cmd="${name}_status"
+stop_cmd="${name}_stop"
+
+command="/usr/sbin/daemon"
+command_args="-f -p ${plexpy_pid} python2 ${plexpy_dir}/PlexPy.py ${plexpy_flags} --quiet --nolaunch"
+
+# Ensure user is root when running this script.
+if [ `id -u` != "0" ]; then
+ echo "Oops, you should be root before running this!"
+ exit 1
+fi
+
+verify_plexpy_pid() {
+ # Make sure the pid corresponds to the PlexPy process.
+ if [ -f ${plexpy_pid} ]; then
+ pid=`cat ${plexpy_pid} 2>/dev/null`
+ ps -p ${pid} | grep -q "python2 ${plexpy_dir}/PlexPy.py"
+ return $?
+ else
+ return 0
+ fi
+}
+
+# Try to stop PlexPy cleanly by calling shutdown over http.
+plexpy_stop() {
+ echo "Stopping $name."
+ verify_plexpy_pid
+ if [ -n "${pid}" ]; then
+ kill ${pid}
+ wait_for_pids ${pid}
+ echo "Stopped."
+ fi
+}
+
+plexpy_status() {
+ verify_plexpy_pid
+ if [ -n "${pid}" ]; then
+ echo "$name is running as ${pid}."
+ else
+ echo "$name is not running."
+ fi
+}
+
+run_rc_command "$1"
diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py
index 2cef7abd..c9563d84 100644
--- a/plexpy/notification_handler.py
+++ b/plexpy/notification_handler.py
@@ -317,7 +317,9 @@ def build_notify_text(session, state):
'content_rating': item_metadata['content_rating'],
'summary': item_metadata['summary'],
'season_num': item_metadata['parent_index'],
+ 'season_num00': item_metadata['parent_index'].zfill(2),
'episode_num': item_metadata['index'],
+ 'episode_num00': item_metadata['index'].zfill(2),
'album_name': item_metadata['parent_title'],
'rating': item_metadata['rating'],
'duration': duration,