diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po
index e574d87..2642cef 100644
--- a/resources/language/resource.language.en_gb/strings.po
+++ b/resources/language/resource.language.en_gb/strings.po
@@ -102,10 +102,6 @@ msgctxt "#30026"
msgid "Widget item select action"
msgstr ""
-msgctxt "#30027"
-msgid "Show watched in recently added"
-msgstr ""
-
msgctxt "#30044"
msgid "Incorrect Username/Password"
msgstr ""
diff --git a/resources/lib/downloadutils.py b/resources/lib/downloadutils.py
index 15e990d..d2ec609 100644
--- a/resources/lib/downloadutils.py
+++ b/resources/lib/downloadutils.py
@@ -422,23 +422,6 @@ class DownloadUtils():
show_x_filtered_items = settings.getSetting("show_x_filtered_items")
url = url.replace("{ItemLimit}", show_x_filtered_items)
- if url.find("{IsUnplayed}") != -1 or url.find("{,IsUnplayed}") != -1 or url.find("{IsUnplayed,}") != -1 \
- or url.find("{,IsUnplayed,}") != -1:
- show_latest_unplayed = settings.getSetting("show_latest_unplayed") == "true"
- if show_latest_unplayed:
- url = url.replace("{IsUnplayed}", "")
- url = url.replace("{,IsUnplayed}", "")
- url = url.replace("{IsUnplayed,}", "")
- url = url.replace("{,IsUnplayed,}", "")
- elif url.find("{IsUnplayed}") != -1:
- url = url.replace("{IsUnplayed}", "IsUnplayed")
- elif url.find("{,IsUnplayed}") != -1:
- url = url.replace("{,IsUnplayed}", ",IsUnplayed")
- elif url.find("{IsUnplayed,}") != -1:
- url = url.replace("{IsUnplayed,}", "IsUnplayed,")
- elif url.find("{,IsUnplayed,}") != -1:
- url = url.replace("{,IsUnplayed,}", ",IsUnplayed,")
-
if url.find("{field_filters}") != -1:
filter_string = getDetailsString()
url = url.replace("{field_filters}", filter_string)
diff --git a/resources/lib/menu_functions.py b/resources/lib/menu_functions.py
index c4b0e4c..b9218bf 100644
--- a/resources/lib/menu_functions.py
+++ b/resources/lib/menu_functions.py
@@ -486,7 +486,8 @@ def getCollections():
'&Fields={field_filters}' +
'&SortBy=DateCreated' +
'&SortOrder=Descending' +
- '&Filters={IsUnplayed,}IsNotFolder' +
+ '&Filters=IsUnplayed,IsNotFolder' +
+ '&IsPlayed=false' +
'&ImageTypeLimit=1' +
'&format=json'),
'media_type': collection_type})
@@ -553,6 +554,7 @@ def getCollections():
'&IsMissing=False' +
'&Fields={field_filters}' +
'&Filters=IsUnplayed' +
+ '&IsPlayed=false' +
'&Recursive=true' +
'&IncludeItemTypes=Series' +
'&SortBy=Name' +
@@ -594,6 +596,7 @@ def getCollections():
'&SortBy=DateCreated' +
'&SortOrder=Descending' +
'&Filters=IsUnplayed' +
+ '&IsPlayed=false' +
'&Recursive=true' +
'&IncludeItemTypes=Episode' +
'&ImageTypeLimit=1' +
@@ -613,7 +616,8 @@ def getCollections():
'&Fields={field_filters}' +
'&SortBy=DateCreated' +
'&SortOrder=Descending' +
- '&Filters={IsUnplayed,}IsNotFolder' +
+ '&Filters=IsUnplayed,IsNotFolder' +
+ '&IsPlayed=false' +
'&Recursive=true' +
'&IncludeItemTypes=Episode' +
'&ImageTypeLimit=1' +
@@ -631,6 +635,7 @@ def getCollections():
'&Recursive=true' +
'&Fields={field_filters}' +
'&Filters=IsUnplayed,IsNotFolder' +
+ '&IsPlayed=false' +
'&IsVirtualUnaired=false' +
'&IsMissing=False' +
'&IncludeItemTypes=Episode' +
@@ -674,6 +679,7 @@ def getCollections():
'&IsMissing=False' +
'&Fields={field_filters}' +
'&Filters=IsUnplayed' +
+ '&IsPlayed=false' +
'&ImageTypeLimit=1' +
'&SortBy=Name' +
'&SortOrder=Ascending' +
@@ -717,7 +723,8 @@ def getCollections():
'&Fields={field_filters}' +
'&SortBy=DateCreated' +
'&SortOrder=Descending' +
- '&Filters={IsUnplayed,}IsNotFolder' +
+ '&Filters=IsUnplayed,IsNotFolder' +
+ '&IsPlayed=false' +
'&ImageTypeLimit=1' +
'&format=json'),
'media_type': collection_type})
@@ -762,6 +769,7 @@ def getCollections():
'&GroupItemsIntoCollections=false' +
'&Fields={field_filters}' +
'&Filters=IsUnplayed' +
+ '&IsPlayed=false' +
'&IncludeItemTypes=Movie' +
'&ImageTypeLimit=1' +
'&SortBy=Name' +
@@ -799,7 +807,8 @@ def getCollections():
'&SortBy=DateCreated' +
'&Fields={field_filters}' +
'&SortOrder=Descending' +
- '&Filters={IsUnplayed,}IsNotFolder' +
+ '&Filters=IsUnplayed,IsNotFolder' +
+ '&IsPlayed=false' +
'&IncludeItemTypes=Movie' +
'&ImageTypeLimit=1' +
'&format=json')
@@ -854,6 +863,7 @@ def getCollections():
'?Fields={field_filters}' +
'&Recursive=true' +
'&Filters=IsUnplayed' +
+ '&IsPlayed=false' +
'&IncludeItemTypes=Series' +
'&ImageTypeLimit=1' +
'&SortBy=Name' +
@@ -886,7 +896,8 @@ def getCollections():
'&SortBy=DateCreated' +
'&Fields={field_filters}' +
'&SortOrder=Descending' +
- '&Filters={IsUnplayed}' +
+ '&Filters=IsUnplayed' +
+ '&IsPlayed=false' +
'&IsVirtualUnaired=false' +
'&IsMissing=False' +
'&IncludeItemTypes=Episode' +
@@ -922,7 +933,8 @@ def getCollections():
'&Recursive=true' +
'&Fields={field_filters}' +
'&SortOrder=Descending' +
- '&Filters={IsUnplayed,}IsNotFolder' +
+ '&Filters=IsUnplayed,IsNotFolder' +
+ '&IsPlayed=false' +
'&IsVirtualUnaired=false' +
'&IsMissing=False' +
'&IncludeItemTypes=Episode' +
@@ -940,6 +952,7 @@ def getCollections():
'&Recursive=true' +
'&Fields={field_filters}' +
'&Filters=IsUnplayed,IsNotFolder' +
+ '&IsPlayed=false' +
'&IsVirtualUnaired=false' +
'&IsMissing=False' +
'&IncludeItemTypes=Episode' +
@@ -1033,8 +1046,9 @@ def showWidgets():
"&ItemLimit={ItemLimit}" +
"&format=json" +
"&ImageTypeLimit=1" +
- '&Fields={field_filters}' +
- "&Filters={IsUnplayed}" +
+ "&Fields={field_filters}" +
+ "&Filters=IsUnplayed" +
+ "&IsPlayed=false" +
"&IsMissing=False")
addMenuDirectoryItem(string_load(30324) + " (" + show_x_filtered_items + ")",
"plugin://plugin.video.embycon/?mode=GET_CONTENT&use_cache=false&media_type=Movies&url=" + urllib.quote(url))
@@ -1042,13 +1056,14 @@ def showWidgets():
url = ("{server}/emby/Users/{userid}/Items" +
"?SortBy=Random" +
"&Limit={ItemLimit}" +
- '&CollapseBoxSetItems=false' +
- '&GroupItemsIntoCollections=false' +
+ "&CollapseBoxSetItems=false" +
+ "&GroupItemsIntoCollections=false" +
"&format=json" +
- '&Fields={field_filters}' +
+ "&Fields={field_filters}" +
"&ImageTypeLimit=1" +
"&IsMissing=False" +
- "&Filters={IsUnplayed,}IsNotFolder" +
+ "&Filters=IsUnplayed,IsNotFolder" +
+ "&IsPlayed=false" +
"&Recursive=true" +
"&SortBy=Random" +
#"&SortOrder=Descending" +
diff --git a/resources/lib/widgets.py b/resources/lib/widgets.py
index 222c00f..66aa48e 100644
--- a/resources/lib/widgets.py
+++ b/resources/lib/widgets.py
@@ -370,7 +370,8 @@ def getWidgetContent(handle, params):
items_url += ("&Recursive=true" +
"&SortBy=DateCreated" +
"&SortOrder=Descending" +
- "&Filters={IsUnplayed,}IsNotFolder" +
+ "&Filters=IsUnplayed,IsNotFolder" +
+ "&IsPlayed=false" +
"&IsVirtualUnaired=false" +
"&IsMissing=False" +
"&IncludeItemTypes=Movie")
@@ -387,12 +388,9 @@ def getWidgetContent(handle, params):
elif widget_type == "random_movies":
xbmcplugin.setContent(handle, 'movies')
- watched = params.get("watched", "") == "true"
- if watched:
- items_url += "&Filters=IsPlayed,IsNotFolder"
- else:
- items_url += "&Filters={IsUnplayed,}IsNotFolder"
- items_url += ("&Recursive=true" +
+ items_url += ("&Filters=IsUnplayed,IsNotFolder" +
+ "&IsPlayed=false" +
+ "&Recursive=true" +
"&SortBy=Random" +
"&SortOrder=Descending" +
"&IsVirtualUnaired=false" +
@@ -408,7 +406,8 @@ def getWidgetContent(handle, params):
'&SortBy=DateCreated' +
'&Fields={field_filters}' +
'&SortOrder=Descending' +
- '&Filters={IsUnplayed}' +
+ '&Filters=IsUnplayed' +
+ '&IsPlayed=false' +
'&IsVirtualUnaired=false' +
'&IsMissing=False' +
'&IncludeItemTypes=Episode' +
@@ -420,7 +419,8 @@ def getWidgetContent(handle, params):
items_url += ("&Recursive=true" +
"&SortBy=DateCreated" +
"&SortOrder=Descending" +
- "&Filters={IsUnplayed,}IsNotFolder" +
+ "&Filters=IsUnplayed,IsNotFolder" +
+ "&IsPlayed=false" +
"&IsVirtualUnaired=false" +
"&IsMissing=False" +
"&IncludeItemTypes=Episode")
diff --git a/resources/settings.xml b/resources/settings.xml
index bd312e9..786f8b0 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -75,7 +75,6 @@
-