diff --git a/data/interfaces/default/css/plexpy.css b/data/interfaces/default/css/plexpy.css
index 28522a01..d6031749 100644
--- a/data/interfaces/default/css/plexpy.css
+++ b/data/interfaces/default/css/plexpy.css
@@ -71,20 +71,9 @@ img {
-moz-box-shadow: 0 0 0 3px rgba(0,0,0,.2);
box-shadow: 0 0 0 3px rgba(0,0,0,.2);
}
-.navbar-header {
- position: absolute;
- top: 0;
- left: 15px;
- width: 100%;
-}
.navbar-brand {
padding: 5px 5px;
}
-.navbar-right {
- position: absolute;
- top: 0;
- right: 15px;
-}
.nav > li > a {
color: #999;
-webkit-transition: all 0.3s ease;
@@ -2575,9 +2564,6 @@ table.display,
table.display tr.shown + tr table[id^='history_child'],
table.display tr.shown + tr table[id^='media_info_child'],
table.display tr.shown + tr table[id^='media_info_child'] tr.shown + tr table[id^='media_info_child'] {
- table-layout: fixed;
-}
-table.display.no-fixed {
table-layout: auto;
}
table.display tr.shown + tr div.slider {
diff --git a/data/interfaces/default/history_table_modal.html b/data/interfaces/default/history_table_modal.html
index 93ecdc67..a6d6804d 100644
--- a/data/interfaces/default/history_table_modal.html
+++ b/data/interfaces/default/history_table_modal.html
@@ -10,7 +10,7 @@
-
+
Started
diff --git a/data/interfaces/default/libraries.html b/data/interfaces/default/libraries.html
index 7ba0b0b6..78697293 100644
--- a/data/interfaces/default/libraries.html
+++ b/data/interfaces/default/libraries.html
@@ -31,11 +31,11 @@
Edit mode
 
-  Select library history to purge. Data is purged upon exiting edit mode.
+  Select libraries to delete/purge. Data is deleted/purged upon exiting edit mode.
-
+
Edit
diff --git a/data/interfaces/default/library.html b/data/interfaces/default/library.html
index 862f7054..85e253bd 100644
--- a/data/interfaces/default/library.html
+++ b/data/interfaces/default/library.html
@@ -201,7 +201,7 @@ DOCUMENTATION :: END
% else:
% endif
- PlexPy is getting the file sizes for the library's media info. This could take a few minutes depending on the size of your library.
+ PlexPy is calculating the file sizes for the library's media info. This could take a few minutes depending on the size of your library.
You may leave this page and come back later.
diff --git a/data/interfaces/default/sync.html b/data/interfaces/default/sync.html
index 26a81370..7f97a07f 100644
--- a/data/interfaces/default/sync.html
+++ b/data/interfaces/default/sync.html
@@ -22,7 +22,7 @@
-
+
State
diff --git a/data/interfaces/default/user.html b/data/interfaces/default/user.html
index a44dc7a7..f5183b95 100644
--- a/data/interfaces/default/user.html
+++ b/data/interfaces/default/user.html
@@ -218,7 +218,7 @@ from plexpy import helpers
-
+
State
diff --git a/data/interfaces/default/users.html b/data/interfaces/default/users.html
index a3b5dcf5..fb2600f3 100644
--- a/data/interfaces/default/users.html
+++ b/data/interfaces/default/users.html
@@ -20,7 +20,7 @@
-
+
Edit
diff --git a/plexpy/libraries.py b/plexpy/libraries.py
index 76bc7d13..3dc45997 100644
--- a/plexpy/libraries.py
+++ b/plexpy/libraries.py
@@ -262,7 +262,8 @@ class Libraries(object):
pass
# If no cache was imported, get all library children items
- cached_rating_keys = [d['rating_key'] for d in rows]
+ cached_items = {d['rating_key']: d['file_size'] for d in rows}
+
if refresh or not rows:
pms_connect = pmsconnect.PmsConnect()
@@ -280,31 +281,33 @@ class Libraries(object):
else:
logger.warn(u"PlexPy Libraries :: Unable to get a list of library items.")
return default_return
-
+
for item in children_list:
- if item['rating_key'] not in cached_rating_keys:
- row = {'section_id': library_details['section_id'],
- 'section_type': library_details['section_type'],
- 'added_at': item['added_at'],
- 'media_type': item['media_type'],
- 'rating_key': item['rating_key'],
- 'parent_rating_key': item['parent_rating_key'],
- 'grandparent_rating_key': item['grandparent_rating_key'],
- 'title': item['title'],
- 'year': item['year'],
- 'media_index': item['media_index'],
- 'parent_media_index': item['parent_media_index'],
- 'thumb': item['thumb'],
- 'container': item.get('container', ''),
- 'bitrate': item.get('bitrate', ''),
- 'video_codec': item.get('video_codec', ''),
- 'video_resolution': item.get('video_resolution', ''),
- 'video_framerate': item.get('video_framerate', ''),
- 'audio_codec': item.get('audio_codec', ''),
- 'audio_channels': item.get('audio_channels', ''),
- 'file_size': item.get('file_size', '')
- }
- rows.append(row)
+ cached_file_size = cached_items.get(item['rating_key'], None)
+ file_size = cached_file_size if cached_file_size else item.get('file_size', '')
+
+ row = {'section_id': library_details['section_id'],
+ 'section_type': library_details['section_type'],
+ 'added_at': item['added_at'],
+ 'media_type': item['media_type'],
+ 'rating_key': item['rating_key'],
+ 'parent_rating_key': item['parent_rating_key'],
+ 'grandparent_rating_key': item['grandparent_rating_key'],
+ 'title': item['title'],
+ 'year': item['year'],
+ 'media_index': item['media_index'],
+ 'parent_media_index': item['parent_media_index'],
+ 'thumb': item['thumb'],
+ 'container': item.get('container', ''),
+ 'bitrate': item.get('bitrate', ''),
+ 'video_codec': item.get('video_codec', ''),
+ 'video_resolution': item.get('video_resolution', ''),
+ 'video_framerate': item.get('video_framerate', ''),
+ 'audio_codec': item.get('audio_codec', ''),
+ 'audio_channels': item.get('audio_channels', ''),
+ 'file_size': file_size
+ }
+ rows.append(row)
if not rows:
return default_return
@@ -434,7 +437,7 @@ class Libraries(object):
metadata_list = child_metadata['metadata']
for child_metadata in metadata_list:
- child_file_size = helpers.cast_to_int(child_metadata['file_size'])
+ child_file_size = helpers.cast_to_int(child_metadata.get('file_size', 0))
if child_file_size > 0:
file_size += child_file_size