<%inherit file="base.html"/> <%! import os import sys import plexpy from plexpy import common, logger, notifiers, versioncheck from plexpy.helpers import anon_url available_notification_agents = sorted(notifiers.available_notification_agents(), key=lambda k: k['name']) %> <%def name="headIncludes()"> <%def name="headerIncludes()"> <%def name="body()">
Settings
% if config['check_github']:
% endif
% if common.VERSION_NUMBER:

### Version ${common.VERSION_NUMBER} Changelog

% endif

### PlexPy Configuration

% if plexpy.CURRENT_VERSION:
Git Branch: | ${plexpy.CONFIG.GIT_BRANCH}
Git Commit Hash: | ${plexpy.CURRENT_VERSION}
% endif
Configuration File: | ${plexpy.CONFIG_FILE}
Database File: | ${plexpy.DB_FILE}
Log File: | ${os.path.join(config['log_dir'], logger.FILENAME)}
Backup Directory: | ${config['backup_dir']}
Cache Directory: | ${config['cache_dir']}
% if plexpy.ARGS:
Arguments: | ${plexpy.ARGS}
% endif
Platform: | ${common.PLATFORM} ${common.PLATFORM_VERSION}
Python Version: | ${sys.version}
Plex Forums: | https://forums.plex.tv/discussion/169591/plexpy-another-plex-monitoring-program
Source: | https://github.com/drzoidberg33/plexpy
Wiki: | https://github.com/drzoidberg33/plexpy/wiki
Issues: | https://github.com/drzoidberg33/plexpy/issues
Feature Requests: | http://feathub.com/drzoidberg33/plexpy
Gitter Chat: | https://gitter.im/drzoidberg33/plexpy

### PlexPy Scheduled Tasks

Loading scheduler table...

### Updates

Enable Updates

If you have Git installed, allow periodic checks for updates.

GitHub API Token

Optional: Use your own GitHub API token when checking for updates.

### Display Settings

Date Format

Set your preferred date format. Click here to see the parameter list.

Time Format

Set your preferred time format. Click here to see the parameter list.

Group Table and Watch Statistics History

Group successive play history by the same user as a single entry in the tables and watch statistics.

### Directories

Backup Directory
Cache Directory
Log Directory

### Sections

Select the sections to show on the homepage. Drag the items below to reorder your homepage content.

- Current Activity
- Watch Statistics
- Library Statistics
- Recently Added

### Watch Statistics

Select the cards to show in the watch statistics on the home page. Drag the items below to reorder your homepage content.

- Most Watched Movie
- Most Popular Movie
- Most Watched TV
- Most Popular TV
- Most Listened to Artist
- Most Popular Artist
- Last Watched
- Most Active User
- Most Active Platform
- Most Concurrent Streams

Time Frame

Specify the number of days for the watch statistics on the home page. Default is 30 days.

Top Lists

Specify the number of items to show in the top lists for the watch statistics on the home page. Max is 10 items, default is 5 items, 0 to disable.

Use Play Duration

Use play duration instead of play count to generate statistics.

### Library Statistics

Select the cards to show in the library statistics on the home page. Drag the items below to reorder your homepage content.

### Web Interface

Web interface changes require a restart.

HTTP Host

e.g. localhost or an IP, such as 0.0.0.0

HTTP Port

Port to bind web server to. Note that ports below 1024 may require root.

HTTP Root

The base URL of the web server. Used for reverse proxies.

Enable HTTP Proxy

Respect the X-Forwarded-Proto header. Used for reverse proxies with SSL.

Launch Browser on Startup

Launch browser pointed to PlexPy on startup.

Enable HTTPS

Enable HTTPS for web server for encrypted communication.

Create Self-signed Certificate

Check to have PlexPy create a self-signed SSL certificate. Uncheck if you want to use your own certificate.

HTTPS Domains

The domain names used to access PlexPy, separated by commas (,).

HTTPS IPs

The IP addresses used to access PlexPy, separated by commas (,).

HTTPS Cert

The location of the SSL certificate.

HTTPS Key

The location of the SSL key.

### Authentication

Authentication changes require a restart.

HTTP Username

Username for web server authentication. Leave empty to disable.

HTTP Password

Password for web server authentication. Leave empty to disable.

Hash Password in the Config File

Store a hashed password in the config file.
Warning: Your password cannot be recovered if forgotten!

### Guest Access

Allow Guest Access to PlexPy

Allow shared users to login to PlexPy using their Plex.tv account. Individual user access needs to be enabled from Users > Edit Mode.

### API

Enable API

Allow remote applications to interface with PlexPy.

API key

Current API key:
${config['api_key']}

### Plex Media Server Version unknown

If you're using websocket monitoring, any server changes require a restart of PlexPy.

Monitor Plex Updates

Enable to have PlexPy check if updates are available for the Plex Media Server.
Note: The Plex updater is broken on certain Plex Pass version of Plex Media Server. PlexPy will automatically disable checking for Plex updates if one of these versions is found.

Monitor Plex Remote Access

Enable to have PlexPy check if remote access to the Plex Media Server goes down.

Plex IP or Hostname

IP Address or hostname for Plex Media Server.

Plex Port

Port that Plex Media Server is listening on.

Remote Server

Check this if your Plex Server is not on the same local network as PlexPy.

Use SSL

If you have secure connections enabled on your Plex Server, communicate with it securely.

### Plex Logs

Logs Folder

Set the complete folder path where your Plex Server logs are, shortcuts are not recognized.
Click here for help. This is required if you enable IP logging (for PMS 0.9.12 and below).

### Plex.tv Authentication

PMS Token

Token for Plex.tv authentication.

### Friends List

Users List Refresh Interval

The interval (in hours) PlexPy will request an updated friends list from Plex.tv. 1 minimum, 24 maximum.

Refresh Users List on Startup

Refresh the users list when PlexPy starts.

### Libraries List

Libraries List Refresh Interval

The interval (in hours) PlexPy will request an updated libraries list from your Plex Media Server. 1 minimum, 24 maximum.

Refresh Libraries List on Startup

Refresh the libraries list when PlexPy starts.

### Extra Settings

Use Video Preview Thumbnails (BIF)

If you have media indexing enabled on your server, use these on the activity pane.

Calculate Total File Sizes [experimental]

Enable if you want PlexPy to calculate the total file size for TV Shows/Seasons and Artists/Albums on the media info tables.

Mask Sensitive Information in Logs

Enable to mask passwords, access tokens, and public IP addresses with asterisks (*) in the logs.
Note: Only logs from the time this setting is enabled will be masked. Do not post your logs publically without masking sensitive information!

Cache Plex Images

Enable to cache images from Plex to reduce API calls and improve loading times.
Note: Video preview thumbnails (BIF) are not cached.

Anonymous Redirect

Backlink protection via anonymizer service, must end in "?".

### Database Import Tool

Click a button below to import an exisiting database from another app.

### Monitoring Settings

Monitoring Interval

The interval (in seconds) PlexPy will ping your Plex Server. Min 30 seconds, recommended 60 seconds.

Use Websocket (requires restart) [experimental]

Instead of polling the server at regular intervals let the server tell PlexPy when something happens.

### History Logging

Keep records of all movie, TV show, or music items played from your Plex Media Server.

Enable Movie Logging
Enable TV Show Logging
Enable Music Logging
Ignore Interval

The interval (in seconds) an item must be in a playing state before logging it. 0 to disable.

Enable IP Logging

Enable this to attempt to log the IP address of the user.

### Buffer Warnings

Note: Buffer warnings only work on certain Plex clients. Android and PlexWeb do not report buffer events accurately or at all.

Buffer Threshold

How many buffer events should we wait before triggering the first warning. Buffer events increment on each monitor ping if play state is buffering. 0 to disable buffer warnings.

Buffer Wait

The value (in seconds) PlexPy should wait before triggering the next buffer warning. 0 to always trigger.

### Global Notification Settings

Enable Movie Notifications
Enable TV Show Notifications
Enable Music Notifications
Enable Recently Added Notifications
Enable Posters in Notifications

Enable to upload Plex posters to Imgur for notifications. Disable if posters are not being used to save bandwidth.

Imgur Client ID

Enter your Imgur API client ID in order to upload posters. You can register a new application here.
Note: The shared Imgur client id will be removed in a future PlexPy update! Please enter your own client id in to continue uploading posters!

### Current Activity Notifications

Watched Percent

Set the progress percentage of when a watched notification should be triggered. Minimum 50, Maximum 95.

Allow Consecutive Notifications

Disable to prevent consecutive notifications (i.e. both watched & stopped notifications).

### Recently Added Notifications

Group notifications for recently added TV Shows or Music

Enable to only get one TV Show or Artist notification for a batch of recently added Episodes or Tracks. Movies are unaffected.
% if config['notify_recently_added_grandparent'] == 'Checked': Note: No Season/Episode or Album/Track metadata will be available. % else: Note: No Season/Episode or Album/Track metadata will be available. % endif

Notification Delay

Set the delay (in seconds) for recently added notifications to allow metadata to be processed. Minimum 60 seconds.

### Custom Notification Messages

You can set custom formatted text for each type of notification. Click here for a list of available parameters which can be used.

You can also add tags to exclude certain text depending on the media type. Click here to view usage information.

- Playback Start
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_start_body_text']}

    Set a custom body.

- Playback Stop
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_stop_body_text']}

    Set a custom body.

- Playback Pause
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_pause_body_text']}

    Set a custom body.

- Playback Resume
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_resume_body_text']}

    Set a custom body.

- Watched
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_watched_body_text']}

    Set a custom body.

- Buffer Warnings
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_buffer_body_text']}

    Set a custom body.

- Recently Added
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_created_body_text']}

    Set a custom body.

- Plex Server Down
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_intdown_body_text']}

    Set a custom body.

- Plex Server Back Up
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_intup_body_text']}

    Set a custom body.

- Plex Remote Access Down
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_extdown_body_text']}

    Set a custom body.

- Plex Remote Access Back Up
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_extup_body_text']}

    Set a custom body.

- Plex Update Available
  - Subject Line

    Set a custom subject line.

    Message Body ${config['notify_on_pmsupdate_body_text']}

    Set a custom body.

- Script
  - Script Arguments

    Set custom arguments passed to the scripts.

### Notification Agents

Toggle the desired notification options by clicking the bell icon () and configure it by clicking the settings icon to the right.

% for agent in available_notification_agents:
- % if any(k[:2] == 'on' and v == 1 for k, v in agent.iteritems()): % else: % endif % if agent['id'] == 17: ${agent['name']} [experimental] % else: ${agent['name']} % endif % if agent['has_config']: % endif
% endfor

#### Date & Time Format Options

Year
YYYY | Numeric, four digits | E.g. 1999, 2003
YY | Numeric, two digits | E.g. 99, 03

Month
MMMM | Textual, full | January-December
MMM | Textual, three letters | Jan-Dec
MM | Numeric, with leading zeros | 01-12
M | Numeric, without leading zeros | 1-12

Day of the Year
DDDD | Numeric, with leading zeros | 001-365
DDD | Numeric, without leading zeros | 1-365

Day of the Month
DD | Numeric, with leading zeros | 01-31
D | Numeric, without leading zeros | 1-31
Do | Numeric, with suffix | E.g. 1st, 2nd ... 31st.

Day of the Week
dddd | Textual, full | Sunday-Saturday
ddd | Textual, three letters | Sun-Sat
d | Numeric | 0-6

Hour
HH | 24-hour, with leading zeros | 00-23
H | 24-hour, without leading zeros | 0-23
hh | 12-hour, with leading zeros | 01-12
h | 12-hour, without leading zeros | 1-12

Minute
mm | Numeric, with leading zeros | 00-59
m | Numeric, without leading zeros | 0-59

Second
ss | Numeric, with leading zeros | 00-59
s | Numeric, without leading zeros | 0-59

AM / PM
A | AM/PM uppercase | AM, PM
a | am/pm lowercase | am, pm

Timezone
ZZ | UTC offset | E.g. +0100, -0700
Z | UTC offset | E.g. +01:00, -07:00

Timestamp
X | Unix timestamp | E.g. 1456887825

#### Fetch Plex.tv Token

This will attempt to fetch your token for you. This will not work on Internet Explorer 9 or lower. PlexPy does not store your username and password.

PMS Username

Username for Plex.tv authentication.

PMS Password

Password for Plex.tv authentication.

#### Notification String Substitutions

If the value for a selected parameter cannot be provided, it will display as blank.

Global
{server_name} | The name of your Plex Server.
{server_uptime} | The uptime (in days, hours, mins, secs) of your Plex Server.
{server_version} | The current version of your Plex Server.
{action} | The action that triggered the notification.
{datestamp} | The date (in date format) the notification was triggered.
{timestamp} | The time (in time format) the notification was triggered.

Stream Details
{streams} | The number of concurrent streams.
{user} | The friendly name of the person streaming.
{username} | The username of the person streaming.
{platform} | The type of client being used for playback.
{player} | The name of the device being used for playback.
{ip_address} | The IP address of the device being used for playback. (PMS 0.9.14 and above)
{stream_duration} | The stream duration (in minutes) for the item.
{stream_time} | The stream duration (in time format) for the item.
{remaining_duration} | The remaining duration (in minutes) for the item.
{remaining_time} | The remaining duration (in time format) for the item.
{progress_duration} | The last reported offset (in minutes) for the item.
{progress_time} | The last reported offset (in time format) for the item.
{progress_percent} | The last reported progress percent for the item.
{container} | The media container of the original media.
{video_codec} | The video codec of the original media.
{video_bitrate} | The video bitrate of the original media.
{video_width} | The video width of the original media.
{video_height} | The video height of the original media.
{video_resolution} | The video resolution of the original media.
{video_framerate} | The video framerate of the original media.
{aspect_ratio} | The aspect ratio of the original media.
{audio_codec} | The audio codec of the original media.
{audio_channels} | The audio channels of the original media.
{transcode_decision} | The stream transcode decisions for the media item.
{video_decision} | The video transcode decisions for the media item.
{audio_decision} | The audio transcode decisions for the media item.
{transcode_container} | The media container of the transcoded media.
{transcode_video_codec} | The video codec of the transcoded media.
{transcode_video_width} | The video width of the transcoded media.
{transcode_video_height} | The video height of the transcoded media.
{transcode_audio_codec} | The audio codec of the transcoded media.
{transcode_audio_channels} | The audio channels of the transcoded media.
{session_key} | The unique identifier for the stream session.
{transcode_key} | The unique identifier for the transcode session.
{user_id} | The unique identifier for the user.
{machine_id} | The unique identifier for the player.

Metadata Details
{media_type} | The type of media. (movie, episode, track)
{title} | The full title of the item.
{library_name} | The library title of the media item.
{show_name} | The title of the TV series.
{episode_name} | The title of the episode.
{artist_name} | The name of the artist.
{album_name} | The title of the album.
{track_name} | The title of the track.
{season_num} | The season number for the episode.
{season_num00} | The two digit season number.
{episode_num} | The episode number for the episode.
{episode_num00} | The two digit episode number.
{track_num} | The track number for the track.
{track_num00} | The two digit track number.
{year} | The release year for the item.
{studio} | The studio for the item.
{content_rating} | The content rating for the item. (e.g. TV-MA, TV-PG, etc.)
{directors} | A list of directors for the item.
{writers} | A list of writers for the item.
{actors} | A list of actors for the item.
{genres} | A list of genres for the item.
{summary} | A short plot summary for the item.
{tagline} | A tagline for the media item.
{rating} | The rating (out of 10) for the item.
{duration} | The duration (in minutes) for the item.
{poster_url} | A URL for the movie, TV show, or album poster.
{plex_url} | The Plex URL to your server for the item.
{imdb_id} | The IMDB ID for the movie. (e.g. tt2488496) (PMS agent must be Freebase)
{imdb_url} | The IMDB URL for the movie. (PMS agent must be Freebase)
{thetvdb_id} | The TVDB ID for the TV show. (e.g. 121361) (PMS agent must be TheTVDB)
{thetvdb_url} | The TVDB URL for the TV show. (PMS agent must be TheTVDB)
{themoviedb_id} | The TMDb ID for the movie or TV show. (e.g. 15260) (PMS agent must be The Movie Database)
{themoviedb_url} | The TMDb URL for the movie or TV show. (PMS agent must be The Movie Database)
{lastfm_url} | The Last.fm URL for the album. (PMS agent must be Last.fm)
{trakt_url} | The trakt.tv URL for the movie or TV show.
{section_id} | The unique identifier for the library.
{rating_key} | The unique identifier for the movie, episode, or track.
{parent_rating_key} | The unique identifier for the season or album.
{grandparent_rating_key} | The unique identifier for the TV show or artist.

Plex Update Available
{update_version} | The available update version for your Plex Server.
{update_url} | The available update download URL.
{update_changelog} | The changelog for the available update.

#### Notification Exclusion Tags

#### Movie Tag <movie></movie>

All text inside a movie tag will only be sent when the media item being played back is a movie.

Example:

    {user} has started playing {title} <movie>({year})</movie>

#### TV Tag <tv></tv>

All text inside a tv tag will only be sent when the media item being played back is an episode.

Example:

    {user} has started playing {title} <tv>(S{season_num}E{episode_num})</tv>

#### Music Tag <music></music>

All text inside a music tag will only be sent when the media item being played back is a music track.

Example:

    {user} has started playing {title} <music>(Track {track_num})</music>

#### Changelog

${versioncheck.read_changelog() | n}

#### Restart

You have changed settings that require PlexPy to restart. Hit the restart button below to restart now.

#### Guidelines

Please read the guidelines in the README document
before submitting a new !
Your post may be removed for failure to follow the guidelines.
<%def name="javascriptIncludes()">