<%doc> USAGE DOCUMENTATION :: PLEASE LEAVE THIS AT THE TOP OF THIS FILE For Mako templating syntax documentation please visit: http://docs.makotemplates.org/en/latest/ Filename: home_stats.html Version: 0.1 Variable names: data [array] data[array_index] :: Usable parameters data['stat_id'] Returns the name of the stat. Either 'top_tv', 'top_movies', 'popular_tv', 'popular_movies', 'top_user' or 'top_platform' data['stat_type'] Returns the type of the stat. Either 'total_plays' or 'total_duration' data['rows'] Returns an array containing stat data data[array_index]['rows'] :: Usable parameters row_id Return the db row id for a metadata item if one exists == Only if 'stat_id' is 'top_tv' or 'popular_tv' == grandparent_thumb Returns location of the item's thumbnail. Use with pms_image_proxy. rating_key Returns the unique identifier for the media item. title Returns the title for the associated stat. == Only if 'stat_id' is 'top_tv' or 'top_movies' or 'top_user' or 'top_platform' == total_plays Returns the count for the associated stat. total_duration Returns the total duration for the associated stat. == Only of 'stat_id' is 'popular_tv' or 'popular_movies' == users_watched Returns the count for the associated stat. == Only if 'stat_id' is 'top_user' == thumb Returns url of the user's gravatar. Returns '' if none exists. user Returns the username for the associated stat. user_id Returns the user id for the associated stat. friendly_name Returns the friendly name of the user for the associated stat. == Only if 'stat_id' is 'top_platform' == platform_type Returns the platform name for the associated stat. DOCUMENTATION :: END <%! from plexpy import helpers # Human readable duration def hd(minutes): if int(minutes) > 60: hours = int(helpers.cast_to_float(minutes) / 60) minutes = int(helpers.cast_to_float(minutes) % 60 ) if minutes > 0: return "

### " + str(hours) + "

hrs

### " + str(minutes) + "

mins

" else: return "

### " + str(hours) + "

hrs

" else: return "

### " + minutes + "

mins

" %> % if data: % if data[0]['rows'] or data[1]['rows'] or data[2]['rows'] or data[3]['rows'] or data[4]['rows'] or data[5]['rows']:

% for top_stat in data: % if top_stat['stat_id'] == 'top_tv' and top_stat['rows']:

- #### Most Watched TV

  ##### ${top_stat['rows'][0]['title']}

  % if top_stat['stat_type'] == 'total_plays':

  ### ${top_stat['rows'][0]['total_plays']}

  plays

  % else: ${top_stat['rows'][0]['total_duration'] | hd} % endif
  % if top_stat['rows'][0]['grandparent_thumb']:
  % else:
  % endif %if len(top_stat['rows']) > 1:
  % for row in top_stat['rows']: %if loop.index > 0:

  - ##### ${top_stat['rows'][loop.index]['title']}

    % if top_stat['stat_type'] == 'total_plays':

    ### ${top_stat['rows'][loop.index]['total_plays']}

    plays

    % else: ${top_stat['rows'][loop.index]['total_duration'] | hd} % endif
    % if top_stat['rows'][loop.index]['grandparent_thumb']:
    % else:
    % endif

    #### ${loop.index + 1}

  % endif % endfor
  % endif
% elif top_stat['stat_id'] == 'popular_tv' and top_stat['rows']:

- #### Most Popular TV

  ##### ${top_stat['rows'][0]['title']}

  ### ${top_stat['rows'][0]['users_watched']}

  users

  % if top_stat['rows'][0]['grandparent_thumb'] != '':
  % else:
  % endif %if len(top_stat['rows']) > 1:
  % for row in top_stat['rows']: %if loop.index > 0:

  - ##### ${top_stat['rows'][loop.index]['title']}

    ### ${top_stat['rows'][loop.index]['users_watched']}

    users

    % if top_stat['rows'][loop.index]['grandparent_thumb']:
    % else:
    % endif

    #### ${loop.index + 1}

  % endif % endfor
  % endif
% elif top_stat['stat_id'] == 'top_movies' and top_stat['rows']:

- #### Most Watched Movie

  ##### ${top_stat['rows'][0]['title']}

  % if top_stat['stat_type'] == 'total_plays':

  ### ${top_stat['rows'][0]['total_plays']}

  plays

  % else: ${top_stat['rows'][0]['total_duration'] | hd} % endif
  % if top_stat['rows'][0]['thumb']:
  % else:
  % endif %if len(top_stat['rows']) > 1:
  % for row in top_stat['rows']: %if loop.index > 0:

  - ##### ${top_stat['rows'][loop.index]['title']}

    % if top_stat['stat_type'] == 'total_plays':

    ### ${top_stat['rows'][loop.index]['total_plays']}

    plays

    % else: ${top_stat['rows'][loop.index]['total_duration'] | hd} % endif
    % if top_stat['rows'][loop.index]['thumb']:
    % else:
    % endif

    #### ${loop.index + 1}

  % endif % endfor
  % endif
% elif top_stat['stat_id'] == 'popular_movies' and top_stat['rows']:

- #### Most Popular Movie

  ##### ${top_stat['rows'][0]['title']}

  ### ${top_stat['rows'][0]['users_watched']}

  users

  % if top_stat['rows'][0]['thumb']:
  % else:
  % endif %if len(top_stat['rows']) > 1:
  % for row in top_stat['rows']: %if loop.index > 0:

  - ##### ${top_stat['rows'][loop.index]['title']}

    ### ${top_stat['rows'][loop.index]['users_watched']}

    users

    % if top_stat['rows'][loop.index]['thumb']:
    % else:
    % endif

    #### ${loop.index + 1}

  % endif % endfor
  % endif
% elif top_stat['stat_id'] == 'top_users' and top_stat['rows']:

- #### Most Active User

  ##### % if top_stat['rows'][0]['user_id']: % else: % endif ${top_stat['rows'][0]['friendly_name']}

  % if top_stat['stat_type'] == 'total_plays':

  ### ${top_stat['rows'][0]['total_plays']}

  plays

  % else: ${top_stat['rows'][0]['total_duration'] | hd} % endif
  % if top_stat['rows'][0]['user_id']: % else: % endif % if top_stat['rows'][0]['thumb'] != '':
  % else:
  % endif %if len(top_stat['rows']) > 1:
  % for row in top_stat['rows']: %if loop.index > 0:

  - ##### % if top_stat['rows'][loop.index]['user_id']: % else: % endif ${top_stat['rows'][loop.index]['friendly_name']}

    % if top_stat['stat_type'] == 'total_plays':

    ### ${top_stat['rows'][loop.index]['total_plays']}

    plays

    % else: ${top_stat['rows'][loop.index]['total_duration'] | hd} % endif
    % if top_stat['rows'][loop.index]['user_id']: % else: % endif % if top_stat['rows'][loop.index]['thumb'] != '':
    % else:
    % endif

    #### ${loop.index + 1}

  % endif % endfor
  % endif
% elif top_stat['stat_id'] == 'top_platforms' and top_stat['rows']:

- #### Most Active Platform

  ##### ${top_stat['rows'][0]['platform_type']}

  % if top_stat['stat_type'] == 'total_plays':

  ### ${top_stat['rows'][0]['total_plays']}

  plays

  % else: ${top_stat['rows'][0]['total_duration'] | hd} % endif
  %if len(top_stat['rows']) > 1:
  % for row in top_stat['rows']: %if loop.index > 0:

  - ##### ${top_stat['rows'][loop.index]['platform_type']}

    % if top_stat['stat_type'] == 'total_plays':

    ### ${top_stat['rows'][loop.index]['total_plays']}

    plays

    % else: ${top_stat['rows'][loop.index]['total_duration'] | hd} % endif

    #### ${loop.index + 1}

  % endif % endfor
  % endif
% endif % endfor

% else:
No stats for selected period.
% endif % else:
Unable to retrieve data from database. Please check your settings.
% endif