aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRechi <Rechi@users.noreply.github.com>2018-09-08 18:11:04 +0200
committerGitHub <noreply@github.com>2018-09-08 18:11:04 +0200
commit2012e95fb9ce736f08388b09b3d52cd932744073 (patch)
tree6a42659b6c48b8a5bfdf4e4dc89897d559cee350
parent6baf09e182c66e916b0ebdf31c330d0bc0cf2725 (diff)
parente396ef3d2f5eb8c1d6d0a6c597e2e0affb30f3c5 (diff)
Merge pull request #14394 from Rechi/addons
[addons] sync with repo
-rw-r--r--addons/game.controller.default/addon.xml4
-rw-r--r--addons/metadata.album.universal/addon.xml4
-rw-r--r--addons/metadata.album.universal/albumuniversal.xml36
-rw-r--r--addons/metadata.album.universal/changelog.txt10
-rw-r--r--addons/metadata.album.universal/resources/language/English/strings.po16
-rw-r--r--addons/metadata.album.universal/resources/settings.xml6
-rw-r--r--addons/metadata.artists.universal/addon.xml6
-rw-r--r--addons/metadata.artists.universal/artistuniversal.xml18
-rw-r--r--addons/metadata.artists.universal/changelog.txt9
-rw-r--r--addons/metadata.artists.universal/resources/language/English/strings.po20
-rw-r--r--addons/metadata.artists.universal/resources/settings.xml7
-rw-r--r--addons/metadata.common.allmusic.com/addon.xml4
-rw-r--r--addons/metadata.common.allmusic.com/allmusic.xml241
-rw-r--r--addons/metadata.common.fanart.tv/addon.xml2
-rw-r--r--addons/metadata.common.fanart.tv/fanarttv.xml601
-rw-r--r--addons/metadata.common.imdb.com/addon.xml2
-rw-r--r--addons/metadata.common.imdb.com/changelog.txt56
-rw-r--r--addons/metadata.common.imdb.com/imdb.xml187
-rw-r--r--addons/metadata.common.musicbrainz.org/addon.xml4
-rw-r--r--addons/metadata.common.musicbrainz.org/musicbrainz.xml13
-rw-r--r--addons/metadata.common.theaudiodb.com/addon.xml4
-rw-r--r--addons/metadata.common.theaudiodb.com/tadb.xml169
-rw-r--r--addons/metadata.common.themoviedb.org/addon.xml2
-rw-r--r--addons/metadata.common.themoviedb.org/tmdb.xml403
-rw-r--r--addons/metadata.tvdb.com/addon.xml2
-rw-r--r--addons/metadata.tvdb.com/changelog.txt6
-rw-r--r--addons/metadata.tvdb.com/tvdb.xml19
27 files changed, 1273 insertions, 578 deletions
diff --git a/addons/game.controller.default/addon.xml b/addons/game.controller.default/addon.xml
index 3dcc9ba40a..86c67770d3 100644
--- a/addons/game.controller.default/addon.xml
+++ b/addons/game.controller.default/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.default"
name="Default Controller"
- version="1.0.5"
+ version="1.0.6"
provider-name="Team Kodi">
<requires>
</requires>
@@ -9,7 +9,7 @@
<extension point="xbmc.addon.metadata">
<summary lang="en_GB">Default Controller</summary>
<description lang="en_GB">The default media center controller is based on the Xbox 360 controller.</description>
- <disclaimer>Image credit: Wikipedia (wikipedia.org)</disclaimer>
+ <disclaimer lang="en_GB">Image credit: Wikipedia (wikipedia.org)</disclaimer>
<platform>all</platform>
<assets>
<icon>resources/icon.png</icon>
diff --git a/addons/metadata.album.universal/addon.xml b/addons/metadata.album.universal/addon.xml
index d4b6afcb13..d84aae24ec 100644
--- a/addons/metadata.album.universal/addon.xml
+++ b/addons/metadata.album.universal/addon.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.album.universal"
name="Universal Album Scraper"
- version="2.7.3"
+ version="3.1.1"
provider-name="Olympia, Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.album.universal/albumuniversal.xml b/addons/metadata.album.universal/albumuniversal.xml
index be1b5d9f92..c913d7e3d8 100644
--- a/addons/metadata.album.universal/albumuniversal.xml
+++ b/addons/metadata.album.universal/albumuniversal.xml
@@ -26,29 +26,11 @@
</CreateAlbumSearchUrl>
<GetAlbumSearchResults dest="8">
<RegExp input="$$5" output="&lt;results sorted=&quot;yes&quot;&gt;\1&lt;/results&gt;" dest="8">
- <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\stype=&quot;Album&quot;\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
- </RegExp>
- <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group(?:\stype=&quot;[^&quot;]*&quot;)*\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
- </RegExp>
- <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\6-\5-T#\7&lt;/year&gt;&lt;artist&gt;\4&lt;/artist&gt;&lt;title&gt;\3&lt;/title&gt;&lt;relevance scale=&quot;100&quot;&gt;\2&lt;/relevance&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;(\d*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;\stype=&quot;Album&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
- </RegExp>
- <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\6-\5-T#\7&lt;/year&gt;&lt;artist&gt;\4&lt;/artist&gt;&lt;title&gt;\3&lt;/title&gt;&lt;relevance scale=&quot;100&quot;&gt;\2&lt;/relevance&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;(\d*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;)*/script&gt;&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;(?:\stype=&quot;[^&quot;]*&quot;)*&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
- </RegExp>
- <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;(?!Official)[^&lt;]*&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\stype=&quot;Album&quot;\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
- </RegExp>
- <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\5-\4-T#\6&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;(?!Official)[^&lt;]*&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group(?:\stype=&quot;[^&quot;]*&quot;)*\sid=&quot;[^&quot;]*&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
- </RegExp>
- <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\6-\5-T#\7&lt;/year&gt;&lt;artist&gt;\4&lt;/artist&gt;&lt;title&gt;\3&lt;/title&gt;&lt;relevance scale=&quot;100&quot;&gt;\2&lt;/relevance&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;(\d*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;(?!Official)[^&lt;]*&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;\stype=&quot;Album&quot;&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
+ <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\6-\5-T#\7&lt;/year&gt;&lt;artist&gt;\4&lt;/artist&gt;&lt;title&gt;\3&lt;/title&gt;&lt;relevance scale=&quot;100&quot;&gt;\2&lt;/relevance&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5">
+ <expression repeat="yes">release\sid=&quot;([^&quot;]*)&quot;[^:]*:score=&quot;(\d*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)*&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;\stype=&quot;Album&quot;\stype-id=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;[^&lt;]*&lt;/title&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;primary-type\sid=&quot;[^&quot;]*&quot;&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type\sid=&quot;[^&quot;]*&quot;&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+).*?&lt;/release&gt;</expression>
</RegExp>
<RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\6-\5-T#\7&lt;/year&gt;&lt;artist&gt;\4&lt;/artist&gt;&lt;title&gt;\3&lt;/title&gt;&lt;relevance scale=&quot;100&quot;&gt;\2&lt;/relevance&gt;&lt;url cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
- <expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;(\d*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;(?!Official)[^&lt;]*&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)?&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;(?:\stype=&quot;[^&quot;]*&quot;)*&gt;(?:&lt;primary-type&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+)</expression>
+ <expression repeat="yes">release\sid=&quot;([^&quot;]*)&quot;[^:]*:score=&quot;(\d*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;packaging&gt;[^&lt;]*&lt;/packaging&gt;)*&lt;text-representation&gt;(?:&lt;language&gt;[^&lt;]*&lt;/language&gt;)*(?:&lt;script&gt;[^&lt;]*&lt;/script&gt;)*&lt;/text-representation&gt;&lt;artist-credit&gt;&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;(?:&lt;name-credit(?:&gt;)*(?:\sjoinphrase=&quot;[^&quot;]*&quot;&gt;)*(?:&lt;name&gt;[^&lt;]*&lt;/name)*(?:&gt;)*&lt;artist\sid=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;[^&lt;]*&lt;/name&gt;(?:&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)*(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;alias-list&gt;(?:&lt;alias[^&lt;]*&lt;/alias&gt;)*&lt;/alias-list&gt;)*&lt;/artist&gt;&lt;/name-credit&gt;)*&lt;/artist-credit&gt;&lt;release-group\sid=&quot;[^&quot;]*&quot;\stype=&quot;[^&quot;]*&quot;\stype-id=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;[^&lt;]*&lt;/title&gt;(?:&lt;disambiguation&gt;[^&lt;]*&lt;/disambiguation&gt;)*(?:&lt;primary-type\sid=&quot;[^&quot;]*&quot;&gt;[^&lt;]*&lt;/primary-type&gt;)*(?:&lt;secondary-type-list&gt;(?:&lt;secondary-type\sid=&quot;[^&quot;]*&quot;&gt;[^&lt;]*&lt;/secondary-type&gt;)+&lt;/secondary-type-list&gt;)*&lt;/release-group&gt;(?:&lt;date&gt;(\d{4})[^&lt;]*&lt;/date&gt;)*(?:&lt;country&gt;)*([^&lt;]*)?.*?&lt;track-list\scount=&quot;(\d+).*?&lt;/release&gt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -140,9 +122,21 @@
<RegExp conditional="fanarttvalbumthumbs" input="$$4" output="&lt;chain function=&quot;GetFanartTvAlbumThumbsByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
<expression noclean="1">(.+)</expression>
</RegExp>
+ <RegExp conditional="fanarttvalbumdiscart" input="$$4" output="&lt;chain function=&quot;GetFanartTvAlbumDiscartByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
<RegExp conditional="tadbalbumthumbs" input="$$4" output="&lt;chain function=&quot;GetTADBAlbumThumbsByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
<expression noclean="1">(.+)</expression>
</RegExp>
+ <RegExp conditional="tadbalbumdiscart" input="$$4" output="&lt;chain function=&quot;GetTADBAlbumDiscartByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <RegExp conditional="tadbalbumback" input="$$4" output="&lt;chain function=&quot;GetTADBAlbumBackByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <RegExp conditional="tadbalbumspine" input="$$4" output="&lt;chain function=&quot;GetTADBAlbumSpineByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
<RegExp conditional="allmusicalbumthumbs" input="$$4" output="&lt;url function=&quot;GetAMGAlbumThumbs&quot; cache=&quot;mb-\1-rg.xml&quot;&gt;$INFO[mbsite]/ws/2/release-group/\1?inc=url-rels&lt;/url&gt;" dest="5+">
<expression noclean="1">(.+)</expression>
</RegExp>
diff --git a/addons/metadata.album.universal/changelog.txt b/addons/metadata.album.universal/changelog.txt
index a1c379dd43..6ac78241fa 100644
--- a/addons/metadata.album.universal/changelog.txt
+++ b/addons/metadata.album.universal/changelog.txt
@@ -1,3 +1,13 @@
+[B]3.1.1[/B]
+Fixed: further fixes to search results
+
+[B]3.1.0[/B]
+Added: scraping extra artwork from theaudiobdb.com
+
+[B]3.0.0[/B]
+Fixed: albums won't be found on MusicBrainz
+Added: scraping discart from fanart.tv
+
[B]2.7.3[/B]
Fixed: albums without year on MusicBrainz won't be found
diff --git a/addons/metadata.album.universal/resources/language/English/strings.po b/addons/metadata.album.universal/resources/language/English/strings.po
index 95dc7344a8..2567910cc1 100644
--- a/addons/metadata.album.universal/resources/language/English/strings.po
+++ b/addons/metadata.album.universal/resources/language/English/strings.po
@@ -66,4 +66,20 @@ msgstr ""
msgctxt "#30012"
msgid "MusicBrainz Mirror"
+msgstr ""
+
+msgctxt "#30013"
+msgid "Grab Album Discart from fanart.tv"
+msgstr ""
+
+msgctxt "#30014"
+msgid "Grab Album Back Cover from theaudiodb.com"
+msgstr ""
+
+msgctxt "#30015"
+msgid "Grab Album Discart from theaudiodb.com"
+msgstr ""
+
+msgctxt "#30016"
+msgid "Grab Album Spine from theaudiodb.com"
msgstr "" \ No newline at end of file
diff --git a/addons/metadata.album.universal/resources/settings.xml b/addons/metadata.album.universal/resources/settings.xml
index 05467b8903..f52de9b10a 100644
--- a/addons/metadata.album.universal/resources/settings.xml
+++ b/addons/metadata.album.universal/resources/settings.xml
@@ -16,9 +16,13 @@
<setting label="30000" type="bool" id="fanarttvalbumthumbs" default="true"/>
<setting label="30010" type="bool" id="tadbalbumthumbs" default="true"/>
<setting label="30008" type="bool" id="allmusicalbumthumbs" default="false"/>
+ <setting label="30013" type="bool" id="fanarttvalbumdiscart" default="false"/>
+ <setting label="30015" type="bool" id="tadbalbumdiscart" default="false"/>
+ <setting label="30014" type="bool" id="tadbalbumback" default="false"/>
+ <setting label="30016" type="bool" id="tadbalbumspine" default="false"/>
</category>
<category label="30011">
- <setting label="30012" type="text" id="mbsite" default="http://musicbrainz.org"/>
+ <setting label="30012" type="text" id="mbsite" default="https://musicbrainz.org"/>
</category>
</settings>
diff --git a/addons/metadata.artists.universal/addon.xml b/addons/metadata.artists.universal/addon.xml
index 972f78d80d..0f9ab23270 100644
--- a/addons/metadata.artists.universal/addon.xml
+++ b/addons/metadata.artists.universal/addon.xml
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.artists.universal"
name="Universal Artist Scraper"
- version="4.1.4"
+ version="4.2.1"
provider-name="Olympia, Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
<import addon="metadata.common.allmusic.com" version="3.1.0"/>
<import addon="metadata.common.fanart.tv" version="3.1.0"/>
<import addon="metadata.common.musicbrainz.org" version="2.1.0"/>
- <import addon="metadata.common.theaudiodb.com" version="1.8.1"/>
+ <import addon="metadata.common.theaudiodb.com" version="2.0.0"/>
</requires>
<extension point="xbmc.metadata.scraper.artists"
language="en"
diff --git a/addons/metadata.artists.universal/artistuniversal.xml b/addons/metadata.artists.universal/artistuniversal.xml
index b1d1c605f5..6131998bbc 100644
--- a/addons/metadata.artists.universal/artistuniversal.xml
+++ b/addons/metadata.artists.universal/artistuniversal.xml
@@ -52,6 +52,9 @@
<RegExp input="$$1" output="&lt;musicBrainzArtistID&gt;$$8&lt;/musicBrainzArtistID&gt;&lt;name&gt;\1&lt;/name&gt;" dest="5">
<expression noclean="1">&lt;artist.*?&lt;name&gt;([^&lt;]*)</expression>
</RegExp>
+ <RegExp input="$$1" output="&lt;sortname&gt;\1&lt;/sortname&gt;" dest="5+">
+ <expression noclean="1">&lt;artist.*?&lt;sort-name&gt;([^&lt;]*)</expression>
+ </RegExp>
<RegExp input="$$1" output="&lt;type&gt;\1&lt;/type&gt;" dest="5+">
<expression noclean="1">&lt;artist.*?\stype=&quot;([Person|Group|Orchestra|Choir|Character|Other])&quot;</expression>
</RegExp>
@@ -67,9 +70,24 @@
<RegExp input="$$8" conditional="fanarttvartistcl" output="&lt;chain function=&quot;GetFanartTvArtistClearlogoByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
<expression noclean="1">(.+)</expression>
</RegExp>
+ <RegExp input="$$8" conditional="fanarttvartistbanner" output="&lt;chain function=&quot;GetFanartTvArtistBannerByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
<RegExp input="$$8" conditional="tadbthumbs" output="&lt;chain function=&quot;GetTADBArtistThumbsByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="5+">
<expression noclean="1">(.+)</expression>
</RegExp>
+ <RegExp input="$$8" conditional="tadbartistclearlogo" output="&lt;chain function=&quot;GetTADBArtistClearlogoByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <RegExp input="$$8" conditional="tadbartistclearart" output="&lt;chain function=&quot;GetTADBArtistClearartByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <RegExp input="$$8" conditional="tadbartistlandscape" output="&lt;chain function=&quot;GetTADBArtistLandscapeByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <RegExp input="$$8" conditional="tadbartistbanner" output="&lt;chain function=&quot;GetTADBArtistBannerByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="5+">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
<RegExp input="$$8" conditional="fanarttvfanart" output="&lt;chain function=&quot;GetFanartTvArtistFanartsByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
<expression noclean="1">(.+)</expression>
</RegExp>
diff --git a/addons/metadata.artists.universal/changelog.txt b/addons/metadata.artists.universal/changelog.txt
index d08f2917dc..b29163f255 100644
--- a/addons/metadata.artists.universal/changelog.txt
+++ b/addons/metadata.artists.universal/changelog.txt
@@ -1,3 +1,12 @@
+[B]4.2.1[/B]
+fixed: dependency error
+
+[B]4.2.0[/B]
+added: scraping extra artwork from theaudiodb.com
+
+[B]4.1.5[/B]
+added: artist sort name from Musicbrainz and artist banner from fanart.tv
+
[B]4.1.4[/B]
changed: include some other valid MB artist types in the previous fix
diff --git a/addons/metadata.artists.universal/resources/language/English/strings.po b/addons/metadata.artists.universal/resources/language/English/strings.po
index 4a1e97a38a..9571041015 100644
--- a/addons/metadata.artists.universal/resources/language/English/strings.po
+++ b/addons/metadata.artists.universal/resources/language/English/strings.po
@@ -124,4 +124,24 @@ msgstr ""
msgctxt "#30027"
msgid "Enable Artist Clearlogo from fanart.tv"
+msgstr ""
+
+msgctxt "#30028"
+msgid "Enable Artist Banner from fanart.tv"
+msgstr ""
+
+msgctxt "#30029"
+msgid "Enable Artist Clearlogo from theaudiodb.com"
+msgstr ""
+
+msgctxt "#30030"
+msgid "Enable Artist Clearart from theaudiodb.com"
+msgstr ""
+
+msgctxt "#30031"
+msgid "Enable Artist Landscape from theaudiodb.com"
+msgstr ""
+
+msgctxt "#30032"
+msgid "Enable Artist Banner from theaudiodb.com"
msgstr "" \ No newline at end of file
diff --git a/addons/metadata.artists.universal/resources/settings.xml b/addons/metadata.artists.universal/resources/settings.xml
index 6a021a430d..84f7fb1e84 100644
--- a/addons/metadata.artists.universal/resources/settings.xml
+++ b/addons/metadata.artists.universal/resources/settings.xml
@@ -33,10 +33,15 @@
<setting label="30004" type="bool" id="fanarttvfanart" default="true"/>
<setting label="30023" type="bool" id="tadbfanart" default="true"/>
<setting label="30027" type="bool" id="fanarttvartistcl" default="false"/>
+ <setting label="30029" type="bool" id="tadbartistclearlogo" default="false"/>
+ <setting label="30030" type="bool" id="tadbartistclearart" default="false"/>
+ <setting label="30031" type="bool" id="tadbartistlandscape" default="false"/>
+ <setting label="30028" type="bool" id="fanarttvartistbanner" default="false"/>
+ <setting label="30032" type="bool" id="tadbartistbanner" default="false"/>
</category>
<category label="30025">
- <setting label="30026" type="text" id="mbsite" default="http://musicbrainz.org"/>
+ <setting label="30026" type="text" id="mbsite" default="https://musicbrainz.org"/>
</category>
</settings>
diff --git a/addons/metadata.common.allmusic.com/addon.xml b/addons/metadata.common.allmusic.com/addon.xml
index 2c2bf34bf8..3099cb809c 100644
--- a/addons/metadata.common.allmusic.com/addon.xml
+++ b/addons/metadata.common.allmusic.com/addon.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.allmusic.com"
name="AllMusic Scraper Library"
- version="3.1.1"
+ version="3.2.0"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.allmusic.com/allmusic.xml b/addons/metadata.common.allmusic.com/allmusic.xml
index 20e9ee38ed..e431cf5051 100644
--- a/addons/metadata.common.allmusic.com/allmusic.xml
+++ b/addons/metadata.common.allmusic.com/allmusic.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<scraperfunctions>
<GetAMGDiscographyByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist-discography.html&quot; function=&quot;ParseAMGDiscography&quot;&gt;http://www.allmusic.com/artist/\1/discography&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist-discography.html&quot; function=&quot;ParseAMGDiscography&quot;&gt;https://www.allmusic.com/artist/\1/discography&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression clear="yes" noclean="1"/>
</RegExp>
</GetAMGDiscographyByAMGID>
@@ -17,54 +17,8 @@
</RegExp>
</ParseAMGDiscography>
- <GetAMGBiographyByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGBiography&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGBiographyByAMGID>
- <ParseAMGBiography dest="5" clearbuffers="no">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="" output="" dest="2">
- <expression />
- </RegExp>
- <RegExp input="$$1" output="\1" dest="11">
- <expression clear="yes">&quot; itemprop=&quot;description&quot;&gt;(.*?)div class=&quot;advertisement leaderboard&quot;&gt;</expression>
- </RegExp>
- <RegExp input="$$11" output="$$12" dest="2">
- <RegExp input="$INFO[biogfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackBiographyByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
- <expression>last.fm</expression>
- </RegExp>
- <RegExp input="$INFO[biogfbsource]" output="&lt;chain function=&quot;GetTADBFMFallbackBiographyByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
- <expression>TheAudioDb.com</expression>
- </RegExp>
- <expression>^$</expression>
- </RegExp>
- <RegExp input="$$11" output="&lt;biography&gt;\1&lt;/biography&gt;" dest="2">
- <expression>(.+)</expression>
- </RegExp>
- <expression noclean="1"/>
- </RegExp>
- </ParseAMGBiography>
-
- <GetAMGFallbackBiographyByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackBiography&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGFallbackBiographyByAMGID>
- <ParseAMGFallbackBiography dest="5" clearbuffers="no">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="" output="" dest="2">
- <expression />
- </RegExp>
- <RegExp input="$$1" output="&lt;biography&gt;\1&lt;/biography&gt;" dest="2">
- <expression clear="yes">&quot; itemprop=&quot;description&quot;&gt;(.*?)div class=&quot;advertisement leaderboard&quot;&gt;</expression>
- </RegExp>
- <expression noclean="1"/>
- </RegExp>
- </ParseAMGFallbackBiography>
-
<GetAMGArtistLifeSpanByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistLifeSpan&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistLifeSpan&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGArtistLifeSpanByAMGID>
@@ -76,17 +30,17 @@
<RegExp input="" output="" dest="11">
<expression />
</RegExp>
- <RegExp input="$$1" output="&lt;born&gt;\1 \2&lt;/born&gt;" dest="11+">
- <expression trim="1,2">&lt;h4&gt;\s*Born\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <RegExp input="$$1" output="&lt;born&gt;\1 \3&lt;/born&gt;" dest="11+">
+ <expression trim="1,2">&lt;h4&gt;\s.+Born.*?birthdate/[^&quot;]+&quot;&gt;([^&lt;]*)(.*?"/birthplace/[^&quot;]+&quot;&gt;([^&lt;]*))?</expression>
</RegExp>
- <RegExp input="$$1" output="&lt;died&gt;\1 \2&lt;/died&gt;" dest="11+">
- <expression trim="1,2">&lt;h4&gt;\s*Died\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <RegExp input="$$1" output="&lt;died&gt;\1 \3&lt;/died&gt;" dest="11+">
+ <expression trim="1,2">&lt;h4&gt;\s.+Died.*?deathdate/[^&quot;]+&quot;&gt;([^&lt;]*)(.*?&quot;/deathplace/[^&quot;]+&quot;&gt;([^&lt;]*))?</expression>
</RegExp>
<RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="11+">
- <expression trim="1,2">&lt;h4&gt;\s*Formed\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s.+Formed.*?birthdate/[^&quot;]+&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="11+">
- <expression trim="1,2">&lt;h4&gt;\s*Disbanded\s*&lt;/h4&gt;\s*&lt;div&gt;(.*?\d{4})\s*([^&lt;]*)?</expression>
+ <expression trim="1,2">&lt;h4&gt;\s.+Disbanded.*?deathdate/[^&quot;]+[^&quot;]+&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<RegExp input="$$11" output="$$12" dest="2">
<RegExp input="$INFO[lifespanfbsource]" output="&lt;chain function=&quot;GetMBFallbackLafeSpanByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
@@ -105,7 +59,7 @@
</ParseAMGArtistLifeSpan>
<GetAMGFallbackArtistLifeSpanByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistLifeSpan&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistLifeSpan&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGFallbackArtistLifeSpanByAMGID>
@@ -131,7 +85,7 @@
</ParseAMGFallbackArtistLifeSpan>
<GetAMGArtistYearsActiveByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistYearsActive&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistYearsActive&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGArtistYearsActiveByAMGID>
@@ -148,7 +102,7 @@
</ParseAMGArtistYearsActive>
<GetAMGArtistGenresByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistGenres&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistGenres&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGArtistGenresByAMGID>
@@ -164,7 +118,7 @@
<expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="11">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<RegExp input="$$11" output="$$12" dest="2">
<RegExp input="$INFO[genresfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackArtistGenresByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
@@ -183,7 +137,7 @@
</ParseAMGArtistGenres>
<GetAMGFallbackArtistGenresByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistGenres&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistGenres&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGFallbackArtistGenresByAMGID>
@@ -199,14 +153,14 @@
<expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseAMGFallbackArtistGenres>
<GetAMGArtistStylesByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistStyles&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistStyles&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGArtistStylesByAMGID>
@@ -222,7 +176,7 @@
<expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="11">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<RegExp input="$$11" output="$$12" dest="2">
<RegExp input="$INFO[stylesfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackArtistStylesByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
@@ -241,7 +195,7 @@
</ParseAMGArtistStyles>
<GetAMGFallbackArtistStylesByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistStyles&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistStyles&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGFallbackArtistStylesByAMGID>
@@ -257,14 +211,14 @@
<expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseAMGFallbackArtistStyles>
<GetAMGArtistMoodsByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistMoods&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistMoods&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGArtistMoodsByAMGID>
@@ -296,7 +250,7 @@
</ParseAMGArtistMoods>
<GetAMGFallbackArtistMoodsByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistMoods&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistMoods&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGFallbackArtistMoodsByAMGID>
@@ -318,74 +272,9 @@
</RegExp>
</ParseAMGFallbackArtistMoods>
- <GetAMGArtistThumbsByAMGID dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistThumbs&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGArtistThumbsByAMGID>
- <ParseAMGArtistThumbs dest="5" clearbuffers="no">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="" output="" dest="2">
- <expression />
- </RegExp>
- <RegExp input="" output="" dest="4">
- <expression />
- </RegExp>
- <RegExp input="$$1" output="\1" dest="4">
- <expression noclean="1">&lt;h\d&gt;Photo\sGallery&lt;/h\d&gt;(.*?)&lt;h2\sclass=&quot;artist-name&quot;</expression>
- </RegExp>
- <RegExp input="$$4" output="&lt;thumb&gt;http://cps-static.rovicorp.com/3/JPG_1080/\1&lt;/thumb&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;img src=&quot;http://cps-static.rovicorp.com/3/JPG_[^/]*/([^&quot;]*)</expression>
- </RegExp>
- <expression noclean="1"/>
- </RegExp>
- </ParseAMGArtistThumbs>
-
-
- <GetAMGAlbumReviewByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumReview&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGAlbumReviewByAMGID>
- <ParseAMGAlbumReview dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;review&gt;\1&lt;/review&gt;" dest="2">
- <expression>&lt;span itemprop=&quot;description&quot;&gt;([^&lt;]*)</expression>
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </ParseAMGAlbumReview>
-
- <GetAMGAlbumTitleByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumTitle&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGAlbumTitleByAMGID>
- <ParseAMGAlbumTitle dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;title&gt;\1&lt;/title&gt;" dest="2">
- <expression trim="1" noclean="1">&lt;div class=&quot;album-title&quot;&gt;([^&lt;]*)</expression>
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </ParseAMGAlbumTitle>
-
- <GetAMGAlbumArtistByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumArtist&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGAlbumArtistByAMGID>
- <ParseAMGAlbumArtist dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;artist&gt;\1&lt;/artist&gt;" dest="2">
- <expression noclean="1">&lt;div class=&quot;album-artist&quot;&gt;[^&gt;]*&gt;([^&lt;]*)</expression>
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </ParseAMGAlbumArtist>
<GetAMGAlbumRatingByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumRating&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumRating&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGAlbumRatingByAMGID>
@@ -398,59 +287,42 @@
</RegExp>
</ParseAMGAlbumRating>
- <GetAMGAlbumDateByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumDate&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGAlbumDateByAMGID>
- <ParseAMGAlbumDate dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;releasedate&gt;\1&lt;/releasedate&gt;" dest="2">
- <expression noclean="1">&lt;dd class=&quot;release-date&quot;&gt;([^&lt;]*)</expression>
- </RegExp>
- <RegExp input="$$1" output="&lt;year&gt;\2&lt;/year&gt;" dest="2+">
- <expression trim="1" noclean="1">&lt;dd class=&quot;release-date&quot;&gt;([^,]*,)?([^&lt;]*)</expression>
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </ParseAMGAlbumDate>
-
<GetAMGAlbumGenresByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumGenres&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumGenres&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGAlbumGenresByAMGID>
<ParseAMGAlbumGenres dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="6">
- <expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
+ <expression noclean="1">class=&quot;genre&quot;&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseAMGAlbumGenres>
<GetAMGAlbumStylesByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumStyles&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumStyles&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGAlbumStylesByAMGID>
<ParseAMGAlbumStyles dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="7">
- <expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
+ <expression noclean="1">class=&quot;styles&quot;&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseAMGAlbumStyles>
<GetAMGAlbumMoodsByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumMoods&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumMoods&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGAlbumMoodsByAMGID>
@@ -460,84 +332,41 @@
<expression trim="1" noclean="1">&gt;\s*&lt;h4&gt;Album\sMoods&lt;/h4&gt;(.*?)&lt;/section&gt;</expression>
</RegExp>
<RegExp input="$$8" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/mood/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/mood/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseAMGAlbumMoods>
<GetAMGAlbumThemesByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumThemes&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumThemes&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGAlbumThemesByAMGID>
<ParseAMGAlbumThemes dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="4">
- <expression trim="1" noclean="1">&gt;\s*&lt;h4&gt;Themes&lt;/h4&gt;(.*?)&lt;/ul&gt;</expression>
+ <expression trim="1" noclean="1">&lt;section\sclass=&quot;themes&quot;&gt;(.*?)&lt;/section&gt;</expression>
</RegExp>
<RegExp input="$$4" output="&lt;theme&gt;\1&lt;/theme&gt;" dest="2">
- <expression repeat="yes" noclean="1">&lt;a\shref=&quot;http://www.allmusic.com/theme/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
+ <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/theme/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseAMGAlbumThemes>
- <GetAMGAlbumTracksByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumTracks&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGAlbumTracksByAMGID>
- <ParseAMGAlbumTracks dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;track&gt;&lt;position&gt;\1&lt;/position&gt;&lt;title&gt;\2&lt;/title&gt;&lt;duration&gt;\3&lt;/duration&gt;&lt;/track&gt;" dest="2">
- <expression repeat="yes" trim="1" noclean="1,2,3">&lt;td class=&quot;tracknum&quot;&gt;([0-9]*).*?&lt;div class=&quot;title&quot;&gt;[^&gt;]*&gt;([^&lt;]*).*?&lt;td class=&quot;time&quot;&gt;([^&lt;]*)</expression>
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </ParseAMGAlbumTracks>
-
<GetAMGAlbumThumbsByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumThumbs&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumThumbs&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
</RegExp>
</GetAMGAlbumThumbsByAMGID>
<ParseAMGAlbumThumbs dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;thumb&gt;http://cps-static.rovicorp.com/3/JPG_500/\1&lt;/thumb&gt;" dest="2">
- <expression noclean="1">&quot;http://cps-static.rovicorp.com/3/JPG_[^/]*/([^&quot;]*)</expression>
+ <RegExp input="$$1" output="&lt;thumb&gt;https://cdn-s3.allmusic.com/release-covers/500/\1&lt;/thumb&gt;" dest="2">
+ <expression noclean="1">&lt;img src=&quot;https://cdn-s3.allmusic.com/release-covers/500/([^&quot;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseAMGAlbumThumbs>
-
- <GetAMGFakeBiographyByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFakeBiography&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGFakeBiographyByAMGID>
- <ParseAMGFakeBiography dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;biography&gt;Fetching artist biography from allmusic.com is not possible due to copyright reasons.&lt;/biography&gt;" dest="2">
- <expression noclean="1" />
- </RegExp>
- <expression noclean="1"/>
- </RegExp>
- </ParseAMGFakeBiography>
-
- <GetAMGFakeAlbumReviewByAMGID dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGFakeAlbumReview&quot;&gt;http://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
- <expression noclean="1"/>
- </RegExp>
- </GetAMGFakeAlbumReviewByAMGID>
- <ParseAMGFakeAlbumReview dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;review&gt;Fetching album review from allmusic.com is not possible due to copyright reasons.&lt;/review&gt;" dest="2">
- <expression noclean="1"/>
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </ParseAMGFakeAlbumReview>
-
</scraperfunctions>
diff --git a/addons/metadata.common.fanart.tv/addon.xml b/addons/metadata.common.fanart.tv/addon.xml
index 1a01b98ca4..45caf8c534 100644
--- a/addons/metadata.common.fanart.tv/addon.xml
+++ b/addons/metadata.common.fanart.tv/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.fanart.tv"
name="fanart.tv Scraper Library"
- version="3.1.5"
+ version="3.5.0"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.fanart.tv/fanarttv.xml b/addons/metadata.common.fanart.tv/fanarttv.xml
index ecf02d7e86..6dffe1d0ff 100644
--- a/addons/metadata.common.fanart.tv/fanarttv.xml
+++ b/addons/metadata.common.fanart.tv/fanarttv.xml
@@ -16,13 +16,59 @@
<RegExp input="$$1" output="\1" dest="16">
<expression noclean="1">&quot;artistthumb&quot;:\s\[(.*?)\}\s*\]</expression>
</RegExp>
- <RegExp input="$$16" output="&lt;thumb preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
<expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseFanartTvArtistThumbs>
+ <GetFanartTvArtistClearlogoByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvArtistClearlogo&quot; cache=&quot;fanarttv-artistimages-\1.json&quot;&gt;https://webservice.fanart.tv/v3/music/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvArtistClearlogoByMBID>
+ <ParseFanartTvArtistClearlogo dest="5" clearbuffers="no">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;hdmusiclogo&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvArtistClearlogo>
+
+ <GetFanartTvArtistBannerByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvArtistBanner&quot; cache=&quot;fanarttv-artistimages-\1.json&quot;&gt;https://webservice.fanart.tv/v3/music/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvArtistBannerByMBID>
+ <ParseFanartTvArtistBanner dest="5" clearbuffers="no">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;musicbanner&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvArtistBanner>
+
<GetFanartTvArtistFanartsByMBID dest="5" clearbuffers="no">
<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvArtistFanarts&quot; cache=&quot;fanarttv-artistimages-\1.json&quot;&gt;https://webservice.fanart.tv/v3/music/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
@@ -75,6 +121,29 @@
</RegExp>
</ParseFanartTvAlbumThumbs>
+ <GetFanartTvAlbumDiscartByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvAlbumDiscart&quot; cache=&quot;fanarttv-albumimages-\1.json&quot;&gt;https://webservice.fanart.tv/v3/music/albums/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvAlbumDiscartByMBID>
+ <ParseFanartTvAlbumDiscart dest="5" clearbuffers="no">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;cdart&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;discart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvAlbumDiscart>
+
<GetFanartTvFanartByIdChain dest="4">
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
<RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvFanart&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
@@ -107,15 +176,18 @@
</RegExp>
</ParseFanartTvFanart>
- <GetFanartTvThumbsByIdChain dest="4">
+ <GetFanartTvThumbsByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvThumbs&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="\2" dest="11">
+ <expression>(.+)::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvMoviePoster&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</GetFanartTvThumbsByIdChain>
- <ParseFanartTvThumbs dest="5">
+ <ParseFanartTvMoviePoster dest="5">
<RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="" output="" dest="13">
<expression />
@@ -126,11 +198,524 @@
<RegExp input="$$1" output="\1" dest="16">
<expression noclean="1">&quot;movieposter&quot;:\s\[(.*?)\}\s*\]</expression>
</RegExp>
- <RegExp input="$$16" output="&lt;thumb preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$11&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;00&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvMoviePoster>
+
+ <GetFanartTvMovieClearlogoByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvMovieClearlogo&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvMovieClearlogoByIdChain>
+ <ParseFanartTvMovieClearlogo dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;hdmovielogo&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;00&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvMovieClearlogo>
+
+ <GetFanartTvMovieClearartByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvMovieClearart&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvMovieClearartByIdChain>
+ <ParseFanartTvMovieClearart dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;hdmovieclearart&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;00&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvMovieClearart>
+
+ <GetFanartTvMoviebannerByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvMoviebanner&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvMoviebannerByIdChain>
+ <ParseFanartTvMoviebanner dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;moviebanner&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;00&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvMoviebanner>
+
+ <GetFanartTvMovieLandscapeByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvMovieLandscape&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvMovieLandscapeByIdChain>
+ <ParseFanartTvMovieLandscape dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;moviethumb&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;00&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvMovieLandscape>
+
+ <GetFanartTvMovieDiscartByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvMovieDiscart&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/movies/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvMovieDiscartByIdChain>
+ <ParseFanartTvMovieDiscart dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;moviedisc&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;discart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;discart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;discart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;00&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvMovieDiscart>
+
+ <GetFanartTvTvShowPosterByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowPoster&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowPosterByIdChain>
+ <ParseFanartTvTvShowPoster dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;tvposter&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowPoster>
+
+ <GetFanartTvTvShowBannerByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowBanner&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowBannerByIdChain>
+ <ParseFanartTvTvShowBanner dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;tvbanner&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowBanner>
+
+ <GetFanartTvTvShowLandscapeByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowLandscape&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowLandscapeByIdChain>
+ <ParseFanartTvTvShowLandscape dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;tvthumb&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowLandscape>
+
+ <GetFanartTvTvShowClearlogoByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowClearlogo&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowClearlogoByIdChain>
+ <ParseFanartTvTvShowClearlogo dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;hdtvlogo&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowClearlogo>
+
+ <GetFanartTvTvShowClearartByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowClearart&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowClearartByIdChain>
+ <ParseFanartTvTvShowClearart dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;hdclearart&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;clearart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowClearart>
+
+ <GetFanartTvTvShowFanartByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowFanart&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression />
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowFanartByIdChain>
+ <ParseFanartTvTvShowFanart dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;&lt;fanart&gt;\1&lt;/fanart&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;showbackground&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowFanart>
+
+ <GetFanartTvTvShowCharacterartByIdChain dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowCharacterart&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression />
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowCharacterartByIdChain>
+ <ParseFanartTvTvShowCharacterart dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;characterart&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;characterart&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
<expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
- </ParseFanartTvThumbs>
-
+ </ParseFanartTvTvShowCharacterart>
+
+ <GetFanartTvTvShowSeasonposterByIdChain clearbuffers="no" dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowSeasonposter&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowSeasonposterByIdChain>
+ <ParseFanartTvTvShowSeasonposter dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;seasonposter&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;poster&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowSeasonposter>
+
+ <GetFanartTvTvShowSeasonbannerByIdChain clearbuffers="no" dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowSeasonbanner&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowSeasonbannerByIdChain>
+ <ParseFanartTvTvShowSeasonbanner dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;seasonbanner&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;banner&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowSeasonbanner>
+
+ <GetFanartTvTvShowSeasonLandscapeByIdChain clearbuffers="no" dest="4">
+ <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
+ <RegExp input="$$1" output="\1" dest="18">
+ <expression encode="1">.+::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseFanartTvTvShowSeasonLandscape&quot; cache=&quot;fanarttv-\1.json&quot;&gt;https://webservice.fanart.tv/v3/tv/\1?api_key=ed4b784f97227358b31ca4dd966a04f1&lt;/url&gt;" dest="5">
+ <expression encode="1">(.+)::.+</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </GetFanartTvTvShowSeasonLandscapeByIdChain>
+ <ParseFanartTvTvShowSeasonLandscape dest="5">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="16">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression noclean="1">&quot;seasonthumb&quot;:\s\[(.*?)\}\s*\]</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;$$18&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;en&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <RegExp input="$$16" output="&lt;thumb aspect=&quot;landscape&quot; type=&quot;season&quot; season=&quot;\3&quot; preview=&quot;https://\1/preview/\2&quot;&gt;https://\1/fanart/\2&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;id&quot;:\s&quot;\d*&quot;,\s*&quot;url&quot;:\s&quot;https://([^/]*)/fanart/([^&quot;]*)&quot;,\s*&quot;lang&quot;:\s&quot;!$$18|!en&quot;,\s*&quot;likes[^,]*,\s*&quot;season&quot;:\s&quot;([0-9,]+)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseFanartTvTvShowSeasonLandscape>
+
</scraperfunctions>
diff --git a/addons/metadata.common.imdb.com/addon.xml b/addons/metadata.common.imdb.com/addon.xml
index b5763c2f0c..2391d124af 100644
--- a/addons/metadata.common.imdb.com/addon.xml
+++ b/addons/metadata.common.imdb.com/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.imdb.com"
name="IMDB Scraper Library"
- version="2.9.3"
+ version="3.1.0"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.imdb.com/changelog.txt b/addons/metadata.common.imdb.com/changelog.txt
index b4543c7c86..be2a0c4eda 100644
--- a/addons/metadata.common.imdb.com/changelog.txt
+++ b/addons/metadata.common.imdb.com/changelog.txt
@@ -1,3 +1,51 @@
+[B]3.1.0[/B]
+- fixed: re-write most regular expressions following IMDb site layout changes
+
+[B]3.0.8[/B]
+- changed: another change to IMDb outline
+
+[B]3.0.7[/B]
+- changed: removed one of the IMDb outline catch
+
+[B]3.0.6[/B]
+- fixed: try to limit world wide English to over ride proper USA title
+
+[B]3.0.5[/B]
+- fixed: IMDb cast and outline following IMDb layout changes
+
+[B]3.0.4[/B]
+- fixed: IMDb plot after IMDb layout changes
+
+[B]3.0.3[/B]
+- fixed: World-wide English title won't scraped correctly
+
+[B]3.0.2[/B]
+- Use TV certification in the absence of MPAA ones
+
+[B]3.0.1[/B]
+- fixed: USA Title won't scraped correctly under some circumstances, plot outline quirks, IMDB Posters
+
+[B]3.0.0[/B]
+- fixed: IMDb plot outline under some circumstances
+
+[B]2.9.9[/B]
+- fixed: Thumb for IMDb cast
+
+[B]2.9.8[/B]
+- fixed: IMDb outline for some movies
+
+[B]2.9.7[/B]
+- changed: attempt to scrape generic local title from IMDb if multiple are available
+
+[B]2.9.6[/B]
+- fixed: movie title issues after IMDb layout changes
+
+[B]2.9.5[/B]
+- fixed: IMDb Full credits after IMDb layout changes
+
+[B]2.9.4[/B]
+- fixed: USA certification rating due to IMDb changes
+
[B]2.9.3[/B]
- fixed: always get USA rating regardless of the country set
@@ -55,7 +103,7 @@
- fixed: MetaCritic Score
[B]2.7.3[/B]
-- fixed: orginal title won't scrape in some cases
+- fixed: original title won't scrape in some cases
[B]2.7.2[/B]
- changed: make sure to parse the intended page
@@ -115,7 +163,7 @@
- fixed: fetching directors and writers due to site changes
[B]2.1.3[/B]
-- fixed: make sure IMDb rating is geting fetched in every region
+- fixed: make sure IMDb rating is getting fetched in every region
[B]2.1.2[/B]
- fixed: IMDb rating after another site change
@@ -145,10 +193,10 @@
- reverted: fixchars removed from cast parsing, leads to Dharma Beta2 hanging, will be added back once next Beta is out
[B]2.0.2[/B]
-- fixed: some more cast won't get scraped under certain circumtances
+- fixed: some more cast won't get scraped under certain circumstances
[B]2.0.1[/B]
-- fixed: cast won't get scraped under certain circumtances
+- fixed: cast won't get scraped under certain circumstances
[B]2.0.0[/B]
- changed: adapted new IMDb layout
diff --git a/addons/metadata.common.imdb.com/imdb.xml b/addons/metadata.common.imdb.com/imdb.xml
index b5a5b35efb..0797bad7a1 100644
--- a/addons/metadata.common.imdb.com/imdb.xml
+++ b/addons/metadata.common.imdb.com/imdb.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<scraperfunctions>
<GetIMDBGenresById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBGenres&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBGenres&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBGenresById>
@@ -15,21 +15,21 @@
</ParseIMDBGenres>
<GetIMDBRatingById dest="5"> <!-- Compatibility function for Pre-Krypton versions-->
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBRating&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBRating&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBRatingById>
<ParseIMDBRating dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;rating&gt;\1&lt;/rating&gt;&lt;votes&gt;\2&lt;/votes&gt;" dest="2">
- <expression>&lt;span\sitemprop=&quot;ratingValue&quot;&gt;([0-9.]+).*?ratingCount&quot;&gt;([0-9,]+)&lt;</expression>
+ <RegExp input="$$1" output="&lt;rating&gt;\2&lt;/rating&gt;&lt;votes&gt;\1&lt;/votes&gt;" dest="2">
+ <expression>&quot;ratingCount&quot;:\s([0-9,]+),\s*&quot;bestRating&quot;:\s&quot;[^&quot;]*&quot;,\s*&quot;worstRating&quot;:\s&quot;[^&quot;]*&quot;,\s*&quot;ratingValue&quot;:\s&quot;([0-9.]+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBRating>
<GetIMDBRatingsById dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;\1-main.html&quot; function=&quot;ParseIMDBRatings&quot;&gt;http://akas.imdb.com/title/\1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;\1-main.html&quot; function=&quot;ParseIMDBRatings&quot;&gt;http://www.imdb.com/title/\1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1">^(tt\d+)</expression>
</RegExp>
<RegExp input="$$1" output="default=&quot;true&quot;" dest="3">
@@ -38,15 +38,15 @@
</GetIMDBRatingsById>
<ParseIMDBRatings dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;ratings&gt;&lt;rating name=&quot;imdb&quot; $$3&gt;&lt;value&gt;\1&lt;/value&gt;&lt;votes&gt;\2&lt;/votes&gt;&lt;/rating&gt;&lt;/ratings&gt;" dest="2">
- <expression>&lt;span\sitemprop=&quot;ratingValue&quot;&gt;([0-9.]+).*?ratingCount&quot;&gt;([0-9,]+)&lt;</expression>
+ <RegExp input="$$1" output="&lt;ratings&gt;&lt;rating name=&quot;imdb&quot; $$3&gt;&lt;value&gt;\2&lt;/value&gt;&lt;votes&gt;\1&lt;/votes&gt;&lt;/rating&gt;&lt;/ratings&gt;" dest="2">
+ <expression>&quot;ratingCount&quot;:\s([0-9,]+),\s*&quot;bestRating&quot;:\s&quot;[^&quot;]*&quot;,\s*&quot;worstRating&quot;:\s&quot;[^&quot;]*&quot;,\s*&quot;ratingValue&quot;:\s&quot;([0-9.]+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBRatings>
<GetIMDBTOP250ById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBTOP250&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBTOP250&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBTOP250ById>
@@ -60,21 +60,21 @@
</ParseIMDBTOP250>
<GetIMDBStudioById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBStudio&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBStudio&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBStudioById>
<ParseIMDBStudio dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;studio&gt;\1&lt;/studio&gt;" dest="2">
- <expression>&quot;/company/[^&gt;]+&gt;[^&lt;]*&lt;[^&gt;]*&gt;([^&lt;]+)&lt;/span&gt;</expression>
+ <expression>&quot;/company/[^&quot;]+&quot;\s*&gt;([^&lt;]+)&lt;/a&gt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBStudio>
<GetIMDBCountryById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBCountry&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBCountry&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBCountryById>
@@ -84,34 +84,34 @@
<expression clear="yes" noclean="1">Country:[^&gt;]+&gt;(.*?)&lt;/div&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;country&gt;\1&lt;/country&gt;" dest="2">
- <expression repeat="yes">itemprop='url'&gt;([^&lt;]+)</expression>
+ <expression repeat="yes">&gt;([^&lt;]+)&lt;/a&gt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBCountry>
<GetMetaCriticRatingById dest="5"> <!-- Compatibility function for Pre-Krypton versions-->
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-criticreviews.html&quot; function=&quot;ParseMetaCriticRating&quot;&gt;http://akas.imdb.com/title/$$1/criticreviews|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-criticreviews.html&quot; function=&quot;ParseMetaCriticRating&quot;&gt;http://www.imdb.com/title/$$1/criticreviews|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetMetaCriticRatingById>
<ParseMetaCriticRating dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="6">
- <expression noclean="1">(&lt;div class=&quot;metascore_block&quot;.*)</expression>
+ <expression clear="yes" noclean="1">&lt;div\sclass=&quot;metacriticScore\sscore_mixed\stitleReviewBarSubItem&quot;(.*?)&lt;span\sclass=&quot;ghostText&quot;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;rating max=&quot;100&quot;&gt;\1&lt;/value&gt;" dest="2">
- <expression clear="yes">&lt;span itemprop=&quot;ratingValue&quot;&gt;(\d+)&lt;/span&gt;</expression>
+ <expression clear="yes">&lt;span&gt;(\d+)&lt;/span&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;votes&gt;\1&lt;/votes&gt;" dest="2+">
- <expression>&lt;span itemprop=&quot;ratingCount&quot;&gt;(\d+)&lt;/span&gt;</expression>
+ <expression>&gt;(\d+)\suser&lt;/a&gt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseMetaCriticRating>
<GetMetaCriticRatingsById dest="5" clearbuffers="no">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;\1-criticreviews.html&quot; function=&quot;ParseMetaCriticRatings&quot;&gt;http://akas.imdb.com/title/\1/criticreviews|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;\1-criticreviews.html&quot; function=&quot;ParseMetaCriticRatings&quot;&gt;http://www.imdb.com/title/\1/criticreviews|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1">(tt\d+)</expression>
</RegExp>
<RegExp input="$$1" output="default=&quot;true&quot;" dest="3">
@@ -122,13 +122,13 @@
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$4" output="&lt;ratings&gt;&lt;rating name=&quot;metacritic&quot; max=&quot;100&quot; $$3&gt;\1&lt;/rating&gt;&lt;/ratings&gt;" dest="2">
<RegExp input="$$1" output="\1" dest="6">
- <expression clear="yes" noclean="1">(&lt;div class=&quot;metascore_block&quot;.*)</expression>
+ <expression clear="yes" noclean="1">&lt;div\sclass=&quot;metacriticScore\sscore_mixed\stitleReviewBarSubItem&quot;(.*?)&lt;span\sclass=&quot;ghostText&quot;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;value&gt;\1&lt;/value&gt;" dest="4">
- <expression clear="yes">&lt;span itemprop=&quot;ratingValue&quot;&gt;(\d+)&lt;/span&gt;</expression>
+ <expression clear="yes">&lt;span&gt;(\d+)&lt;/span&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;votes&gt;\1&lt;/votes&gt;" dest="4+">
- <expression>&lt;span itemprop=&quot;ratingCount&quot;&gt;(\d+)&lt;/span&gt;</expression>
+ <expression>&gt;(\d+)\suser&lt;/a&gt;</expression>
</RegExp>
<expression noclean="1" clear="yes"/>
</RegExp>
@@ -137,21 +137,21 @@
</ParseMetaCriticRatings>
<GetIMDBPlotById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBPlot&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBPlot&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBPlotById>
<ParseIMDBPlot dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="2">
- <expression fixchars="1" trim="1">&lt;h2&gt;Storyline&lt;/h2&gt;\s+&lt;div\sclass=&quot;inline\scanwrap&quot;\sitemprop=&quot;description&quot;&gt;\s+&lt;p&gt;(.*?)&lt;[^a/]</expression>
+ <expression fixchars="1" trim="1">&lt;h2&gt;Storyline&lt;/h2&gt;\s+&lt;div\sclass=&quot;inline\scanwrap&quot;&gt;\s+&lt;p&gt;\s+&lt;span&gt;(.*?)&lt;/span&gt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBPlot>
<GetIMDBTaglineById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBTagline&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBTagline&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBTaglineById>
@@ -165,38 +165,47 @@
</ParseIMDBTagline>
<GetIMDBOutlineById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBOutline&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBOutline&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBOutlineById>
<ParseIMDBOutline dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;outline&gt;\1&lt;/outline&gt;" dest="2">
- <expression fixchars="1" trim="1">itemprop=&quot;description&quot;&gt;(.+?)&lt;/div&gt;</expression>
+ <expression fixchars="1" trim="1">&lt;div class=&quot;summary_text&quot;&gt;(.+?)&lt;div\sclass</expression>
</RegExp>
<RegExp input="$$1" output="&lt;outline&gt;\1&lt;/outline&gt;" dest="2">
- <expression fixchars="1" trim="1">itemprop=&quot;description&quot;&gt;(.+?)See\sfull\ssummary</expression>
+ <expression fixchars="1" trim="1">&lt;div class=&quot;summary_text&quot;&gt;(.+?)&lt;a\shref=&quot;(.+?)=tt_ov_pl&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;outline&gt;\1&lt;/outline&gt;" dest="2">
+ <expression fixchars="1" trim="1">&lt;div class=&quot;summary_text&quot;&gt;(.+?)&lt;a\shref=&quot;[^&quot;]*&quot;\s*&gt;Add\sa\sPlot</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBOutline>
<GetIMDBOutlineToPlotById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBOutlineToPlot&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBOutlineToPlot&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBOutlineToPlotById>
<ParseIMDBOutlineToPlot dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="2">
- <expression fixchars="1" trim="1">itemprop=&quot;description&quot;&gt;([^&lt;]+)&lt;</expression>
+ <RegExp input="$$1" output="&lt;outline&gt;\1&lt;/outline&gt;" dest="2">
+ <expression fixchars="1" trim="1">&lt;div class=&quot;summary_text&quot;&gt;(.+?)&lt;div\sclass</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;outline&gt;\1&lt;/outline&gt;" dest="2">
+ <expression fixchars="1" trim="1">&lt;div class=&quot;summary_text&quot;&gt;(.+?)&lt;a\shref=&quot;(.+?)=tt_ov_pl&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;outline&gt;\1&lt;/outline&gt;" dest="2">
+ <expression fixchars="1" trim="1">&lt;div class=&quot;summary_text&quot;&gt;(.+?)&lt;a\shref=&quot;[^&quot;]*&quot;\s*&gt;Add\sa\sPlot</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBOutlineToPlot>
<GetIMDBCastById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBCast&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBCast&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBCastById>
@@ -206,10 +215,10 @@
<expression noclean="1">&lt;table\sclass=&quot;cast_list&quot;&gt;(.*?)&lt;/table&gt;</expression>
</RegExp>
<RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;\2\3SX1024_SY1024_.jpg&lt;/thumb&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\5&lt;/role&gt;&lt;/actor&gt;" dest="7">
- <expression repeat="yes" clear="yes" trim="3,4" noclean="1,2">&lt;img[^a]*alt=&quot;([^&quot;]*)&quot;[^&quot;]*&quot;[^&quot;]*&quot;[^s]*src=&quot;(?:[^&quot;]*\.[^&quot;]*&quot;class=&quot;loadlate\shidden\s&quot;\sloadlate=&quot;([^&quot;]*)(_V._))[^&gt;]*.*?ter&quot;&gt;[^&gt;]*&gt;\n\s*(&lt;[^&gt;]*&gt;)?([^&lt;\(]*)?</expression>
+ <expression repeat="yes" clear="yes" trim="3,4" noclean="1,2">&lt;img[^a]*alt=&quot;([^&quot;]*)&quot;[^&quot;]*&quot;[^&quot;]*&quot;[^s]*src=&quot;(?:[^&quot;]*\.[^&quot;]*&quot;\sclass=&quot;loadlate\shidden\s&quot;\sloadlate=&quot;([^&quot;]*)(_V..?_))[^&gt;]*.*?ter&quot;&gt;[^&gt;]*&gt;(&lt;[^&gt;]*&gt;)?([^&lt;\(]*)?</expression>
</RegExp>
<RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;&lt;/thumb&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\3&lt;/role&gt;&lt;/actor&gt;" dest="7+">
- <expression repeat="yes" trim="1,2,3" fixchars="3" noclean="1,2">&lt;img[^a]*alt=&quot;([^&quot;]*)&quot;[^&quot;]*&quot;[^&quot;]*&quot;[^s]*src=&quot;(?:[^&quot;]*\.[^&quot;]*\.png)&quot;\sclass=&quot;.*?&quot;\s/&gt;*.*?ter&quot;&gt;[^&gt;]*&gt;\n\s*(&lt;[^&gt;]*&gt;)?([^&lt;\(]*)?</expression>
+ <expression repeat="yes" trim="1,2,3" fixchars="3" noclean="1,2">&lt;img[^a]*alt=&quot;([^&quot;]*)&quot;[^&quot;]*&quot;[^&quot;]*&quot;[^s]*src=&quot;(?:[^&quot;]*\.[^&quot;]*\.png)&quot;\sclass=&quot;.*?&quot;\s/&gt;*.*?ter&quot;&gt;[^&gt;]*&gt;(&lt;[^&gt;]*&gt;)?([^&lt;\(]*)?</expression>
</RegExp>
<RegExp input="$$7" output="&lt;actor&gt;&lt;thumb&gt;\1&lt;/thumb&gt;\2&lt;/actor&gt;" dest="2+">
<expression repeat="yes" clear="yes" noclean="1,2,3">&lt;actor&gt;&lt;thumb&gt;(?:(http.*?)|_SX[0-9]+_SY[0-9]+_)?&lt;/thumb&gt;(.*?)&lt;/actor&gt;</expression>
@@ -219,7 +228,7 @@
</ParseIMDBCast>
<GetIMDBDirectorsById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBDirectors&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBDirectors&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBDirectorsById>
@@ -229,14 +238,14 @@
<expression clear="yes" noclean="1">Director(?:s)?:.*?&lt;/h4&gt;(.*?)&lt;div class</expression>
</RegExp>
<RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="2">
- <expression repeat="yes" fixchars="1" clear="yes">href=&quot;/name[^&gt;]*&gt;[^&lt;]*&lt;[^&gt;]*&gt;([^&lt;]*)&lt;</expression>
+ <expression repeat="yes" fixchars="yes" clear="yes">href=&quot;/name[^&gt;]*&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBDirectors>
<GetIMDBWritersById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBWriters&quot;&gt;http://akas.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBWriters&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBWritersById>
@@ -246,41 +255,44 @@
<expression clear="yes" noclean="1">Writer(?:s)?:.*?&lt;/h4&gt;(.*?)&lt;div class</expression>
</RegExp>
<RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="2">
- <expression repeat="yes" fixchars="1" clear="yes">href=&quot;/name[^&gt;]*&gt;[^&lt;]*&lt;[^&gt;]*&gt;([^&lt;]*)&lt;</expression>
+ <expression repeat="yes" fixchars="yes" clear="yes">href=&quot;/name[^&gt;]*&gt;([^&lt;]*)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBWriters>
<GetIMDBFullCastById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-combined.html&quot; function=&quot;ParseIMDBFullCast&quot;&gt;http://akas.imdb.com/title/$$1/combined|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-reference.html&quot; function=&quot;ParseIMDBFullCast&quot;&gt;http://www.imdb.com/title/$$1/reference|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBFullCastById>
<ParseIMDBFullCast dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="6">
- <expression noclean="1">&lt;table class=&quot;cast&quot;&gt;(.*?)&lt;/table&gt;</expression>
+ <expression noclean="1">&lt;table\sclass=&quot;cast_list&quot;&gt;(.*?)&lt;/table&gt;</expression>
</RegExp>
- <RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;\1_SX1024_SY1024_\2&lt;/thumb&gt;&lt;name&gt;\3&lt;/name&gt;&lt;role&gt;\5&lt;/role&gt;&lt;/actor&gt;" dest="7">
- <expression repeat="yes" clear="yes" fixchars="3,5" trim="3,5" noclean="1,2">&lt;img src="(?:([^&quot;]*\.)[^&quot;]*(\.jpg))?[^&gt;]*[^&quot;]*&quot;nm&quot;&gt;&lt;a href=&quot;[^&quot;]*[^&gt;]*&gt;([^&lt;]*)&lt;[^&quot;]*&quot;ddd&quot;&gt;([^&lt;]&lt;)?[^&quot;]*&quot;char&quot;&gt;(.*?)&lt;/td&gt;</expression>
+ <RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;\2\3SX1024_SY1024_.jpg&lt;/thumb&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\5&lt;/role&gt;&lt;/actor&gt;" dest="7">
+ <expression repeat="yes" clear="yes" trim="3,4" noclean="1,2">&lt;img[^a]*alt=&quot;([^&quot;]*)&quot;[^&quot;]*&quot;[^&quot;]*&quot;[^s]*src=&quot;(?:[^&quot;]*\.[^&quot;]*&quot;\sclass=&quot;loadlate\shidden\s&quot;\sloadlate=&quot;([^&quot;]*)(_V..?_))[^&gt;]*.*?ter&quot;&gt;[^&gt;]*&gt;\n\s*(&lt;[^&gt;]*&gt;)?([^&lt;\(]*)?</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;&lt;/thumb&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\3&lt;/role&gt;&lt;/actor&gt;" dest="7+">
+ <expression repeat="yes" trim="1,2,3" fixchars="3" noclean="1,2">&lt;img[^a]*alt=&quot;([^&quot;]*)&quot;[^&quot;]*&quot;[^&quot;]*&quot;[^s]*src=&quot;(?:[^&quot;]*\.[^&quot;]*\.png)&quot;\sclass=&quot;.*?&quot;\s/&gt;*.*?ter&quot;&gt;[^&gt;]*&gt;\n\s*(&lt;[^&gt;]*&gt;)?([^&lt;\(]*)?</expression>
</RegExp>
<RegExp input="$$7" output="&lt;actor&gt;&lt;thumb&gt;\1&lt;/thumb&gt;\2&lt;/actor&gt;" dest="2+">
- <expression repeat="yes" clear="yes" noclean="1,2,3">&lt;actor&gt;&lt;thumb&gt;(?:(http.*?)|_SX[0-9]+_SY[0-9]+_)&lt;/thumb&gt;(.*?)&lt;/actor&gt;</expression>
+ <expression repeat="yes" clear="yes" noclean="1,2,3">&lt;actor&gt;&lt;thumb&gt;(?:(http.*?)|_SX[0-9]+_SY[0-9]+_)?&lt;/thumb&gt;(.*?)&lt;/actor&gt;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBFullCast>
<GetIMDBFullDirectorsById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-combined.html&quot; function=&quot;ParseIMDBFullDirectors&quot;&gt;http://akas.imdb.com/title/$$1/combined|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-reference.html&quot; function=&quot;ParseIMDBFullDirectors&quot;&gt;http://www.imdb.com/title/$$1/reference|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBFullDirectorsById>
<ParseIMDBFullDirectors dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="6">
- <expression clear="yes" noclean="1">Director(?:s)?:.*?&lt;/h5&gt;[^&gt;]*&gt;(.*?)&lt;/div</expression>
+ <expression clear="yes" noclean="1">Director(?:s)?:.*?ipl-inline-list[^&gt;]*&gt;(.*?)&lt;/div</expression>
</RegExp>
<RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="2">
<expression repeat="yes" fixchars="1">&lt;a href=&quot;/name/[^&gt;]*&gt;([^&lt;]*)&lt;</expression>
@@ -290,14 +302,14 @@
</ParseIMDBFullDirectors>
<GetIMDBFullWritersById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-combined.html&quot; function=&quot;ParseIMDBFullWriters&quot;&gt;http://akas.imdb.com/title/$$1/combined|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-reference.html&quot; function=&quot;ParseIMDBFullWriters&quot;&gt;http://www.imdb.com/title/$$1/reference|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBFullWritersById>
<ParseIMDBFullWriters dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="6">
- <expression noclean="1">Writing\scredits(.*?)name="</expression>
+ <expression noclean="1">Writer(?:s)?:.*?ipl-inline-list[^&gt;]*&gt;(.*?)&lt;/div</expression>
</RegExp>
<RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="2">
<expression repeat="yes" fixchars="1">&lt;a href=&quot;/name/[^&gt;]*&gt;([^&lt;]*)&lt;</expression>
@@ -307,30 +319,30 @@
</ParseIMDBFullWriters>
<GetIMDBThumbsById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-posters.html&quot; function=&quot;ParseIMDBThumbs&quot;&gt;http://akas.imdb.com/title/$$1/posters|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBThumbs&quot;&gt;http://www.imdb.com/title/$$1/|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBThumbsById>
<ParseIMDBThumbs dest="5">
<RegExp input="$$6" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="\1_SX1024_SY1024_\2" dest="4">
- <expression noclean="1,2">&lt;a\sname=&quot;poster&quot;.*?src=&quot;(.*?)_S.*?(.jpg)&quot;.*?&lt;/a&gt;</expression>
- </RegExp>
- <RegExp input="$$4" output="&lt;thumb aspect=&quot;poster&quot;&gt;\1&lt;/thumb&gt;" dest="6">
- <expression noclean="1">(.*?_SX[0-9]+_SY[0-9]+_.jpg)</expression>
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;poster&quot;&gt;\1\2.jpg&lt;/thumb&gt;" dest="6">
+ <expression noclean="1">Poster&quot;\s*src=&quot;(.*?)(_V._)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseIMDBThumbs>
<GetIMDBUSACert dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-combined.html&quot; function=&quot;ParseIMDBUSACert&quot;&gt;http://akas.imdb.com/title/$$1/combined|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-reference.html&quot; function=&quot;ParseIMDBUSACert&quot;&gt;http://www.imdb.com/title/$$1/reference|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBUSACert>
<ParseIMDBUSACert dest="5">
<RegExp input="$$1" output="&lt;details&gt;&lt;mpaa&gt;$INFO[certprefix]\1&lt;/mpaa&gt;&lt;/details&gt;" dest="5">
- <expression>&gt;\s*USA:(P?G|PG-13|R|NC-17)&lt;/a&gt;</expression>
+ <expression>&gt;\s*United\sStates:(TV-(Y7?|P?G|14|MA))&lt;/a&gt;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;details&gt;&lt;mpaa&gt;$INFO[certprefix]\1&lt;/mpaa&gt;&lt;/details&gt;" dest="5">
+ <expression>&gt;\s*United\sStates:(P?G|PG-13|R|NC-17)&lt;/a&gt;</expression>
</RegExp>
<RegExp input="$$1" output="&lt;details&gt;&lt;mpaa&gt;$INFO[certprefix]\1&lt;/mpaa&gt;&lt;/details&gt;" dest="5">
<expression>MPAA&lt;/a&gt;:&lt;/h5&gt;&lt;div\sclass=&quot;info-content&quot;&gt;Rated\s(P?G|PG-13|R|NC-17)</expression>
@@ -338,14 +350,14 @@
</ParseIMDBUSACert>
<GetIMDBCountryCert dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-combined.html&quot; function=&quot;ParseIMDBCountryCert&quot;&gt;http://akas.imdb.com/title/$$1/combined|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-reference.html&quot; function=&quot;ParseIMDBCountryCert&quot;&gt;http://www.imdb.com/title/$$1/reference|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
<RegExp input="$INFO[imdbcertcountry]" output="$$2" dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-combined.html&quot; function=&quot;ParseIMDBUSACert&quot;&gt;http://akas.imdb.com/title/$$1/combined|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="2">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-reference.html&quot; function=&quot;ParseIMDBUSACert&quot;&gt;http://www.imdb.com/title/$$1/reference|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="2">
<expression noclean="1"/>
</RegExp>
- <expression>USA</expression>
+ <expression>United States</expression>
</RegExp>
</GetIMDBCountryCert>
<ParseIMDBCountryCert dest="5">
@@ -355,81 +367,57 @@
</ParseIMDBCountryCert>
<GetIMDBAKATitlesById dest="5">
- <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-combined.html&quot; function=&quot;ParseIMDBAKATitles&quot;&gt;http://akas.imdb.com/title/$$1/combined|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-releaseinfo.html&quot; function=&quot;ParseIMDBAKATitles&quot;&gt;http://www.imdb.com/title/$$1/releaseinfo|accept-language=en-us&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1" />
</RegExp>
</GetIMDBAKATitlesById>
<ParseIMDBAKATitles dest="5">
<RegExp input="$$2" output="&lt;details&gt;&lt;title&gt;\1&lt;/title&gt;&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="\1" dest="2">
- <expression fixchars="1">&lt;h1&gt;([^&lt;]*)</expression>
+ <RegExp input="$$1" output="\2" dest="2">
+ <expression>'og:title'\scontent=&quot;(IMDb\s-\s)?(?:&amp;#x22;)?([^&quot;]*?)(?:&amp;#x22;)? \([^\(]*?([0-9]{4})(?:–\s)?\)</expression>
</RegExp>
<RegExp input="$$10" output="\1" dest="4">
- <RegExp input="$$1" output="\2" dest="9">
- <expression fixchars="2">&lt;meta\sname=&quot;title&quot;\scontent=&quot;(IMDb\s-\s)?(?:&amp;#x22;)?([^&quot;]*?)(?:&amp;#x22;)? \([^\(]*?([0-9]{4})(?:–\s)?\)</expression>
+ <RegExp input="$$1" output="\1" dest="9">
+ <expression>&lt;td&gt;\(original\stitle\)[^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$1" output="\1" dest="9">
- <expression fixchars="1">class=&quot;originalTitle&quot;&gt;([^&lt;]*)</expression>
+ <expression>class="originalTitle"&gt;([^&lt;]*)</expression>
</RegExp>
<RegExp input="$$9" output="\1" dest="10">
<expression />
</RegExp>
<RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+Hong Kong\s[&lt;em&gt;][^&quot;]+English</expression>
- </RegExp>
- <RegExp input="$$11" output="\1" dest="10">
- <expression>(.+)</expression>
- </RegExp>
- <RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+((Canada)\s(&lt;em&gt;)?\((English|imdb))</expression>
- </RegExp>
- <RegExp input="$$11" output="\1" dest="10">
- <expression>(.+)</expression>
- </RegExp>
- <RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+(UK(&lt;em&gt;)?&lt;br&gt;)</expression>
+ <expression>'og:title'\scontent=&quot;(IMDb\s-\s)?(?:&amp;#x22;)?([^&quot;]*?)(?:&amp;#x22;)? \([^\(]*?([0-9]{4})(?:–\s)?\)</expression>
</RegExp>
<RegExp input="$$11" output="\1" dest="10">
<expression>(.+)</expression>
</RegExp>
<RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&quot;]+International\s(&lt;em&gt;)?\(English\stitle\)(&lt;/em&gt;)?(,|&lt;)( |b)</expression>
+ <expression clear="yes">&lt;td&gt;Hong Kong\s\(English[^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$11" output="\1" dest="10">
<expression>(.+)</expression>
</RegExp>
<RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&quot;]+International\s(&lt;em&gt;)?\(English\stitle\)(&lt;/em&gt;)? (&lt;em&gt;)?\(imdb</expression>
+ <expression clear="yes">&lt;td&gt;Canada\s\(English[^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$11" output="\1" dest="10">
<expression>(.+)</expression>
</RegExp>
- <RegExp input="$$1" output="\1" dest="12">
- <expression fixchars="1" clear="yes">&lt;a\shref=&quot;/country/[^&gt;]+&gt;(UK&lt;/a&gt;&lt;/div&gt;)</expression>
- </RegExp>
- <RegExp input="$$12" output="$$9" dest="10">
- <expression>(.+)</expression>
- </RegExp>
- <RegExp input="$$1" output="\1" dest="12">
- <expression clear="yes">&lt;a\shref=&quot;/country/[^&gt;]+&gt;(USA&lt;/a&gt;&lt;/div&gt;)</expression>
- </RegExp>
- <RegExp input="$$12" output="$$9" dest="10">
- <expression>(.+)</expression>
- </RegExp>
<RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+(USA(&lt;em&gt;)?&lt;br&gt;)</expression>
+ <expression clear="yes">&lt;td&gt;UK&lt;[^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$11" output="\1" dest="10">
<expression>(.+)</expression>
</RegExp>
<RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+((USA)\s(&lt;em&gt;)?\((English|imdb))</expression>
+ <expression clear="yes">&lt;td&gt;World-wide\s\(English\stitle\)&lt;[^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$11" output="\1" dest="10">
<expression>(.+)</expression>
</RegExp>
<RegExp input="$$1" output="\1" dest="11">
- <expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+((USA)\s(&lt;em&gt;)?\((new\stitle))</expression>
+ <expression clear="yes">&lt;td&gt;USA&lt;[^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$11" output="\1" dest="10">
<expression>(.+)</expression>
@@ -440,23 +428,14 @@
<expression>(.+)</expression>
</RegExp>
<RegExp input="$$1" output="\1" dest="4">
- <expression fixchars="1">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+$INFO[imdbakatitles]</expression>
- </RegExp>
- <RegExp input="$$4" output="\1" dest="2">
- <expression>(.+)</expression>
+ <expression>&lt;td&gt;$INFO[imdbakatitles][^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$1" output="\1" dest="4">
- <expression fixchars="1">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+$INFO[imdbakatitles]\s(&lt;em&gt;)?\((imdb\sdisplay)</expression>
+ <expression>&lt;td&gt;$INFO[imdbakatitles]&lt;[^&gt;]+&gt;[^&gt;]+&gt;([^&lt;]+)</expression>
</RegExp>
<RegExp input="$$4" output="\1" dest="2">
<expression>(.+)</expression>
</RegExp>
- <RegExp input="$$1" output="\1" dest="5">
- <expression>&lt;a\shref=&quot;/country/[^&gt;]+&gt;($INFO[imdbakatitles])</expression>
- </RegExp>
- <RegExp input="$$5" output="$$9" dest="4">
- <expression>($INFO[imdbakatitles])</expression>
- </RegExp>
<RegExp input="$INFO[imdbakatitles]" output="$$9" dest="4">
<expression>Keep Original</expression>
</RegExp>
diff --git a/addons/metadata.common.musicbrainz.org/addon.xml b/addons/metadata.common.musicbrainz.org/addon.xml
index b73d251fc1..70d133adc2 100644
--- a/addons/metadata.common.musicbrainz.org/addon.xml
+++ b/addons/metadata.common.musicbrainz.org/addon.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.musicbrainz.org"
name="MusicBrainz Scraper Library"
- version="2.1.2"
+ version="2.2.0"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.musicbrainz.org/musicbrainz.xml b/addons/metadata.common.musicbrainz.org/musicbrainz.xml
index 3aba73676a..bdc4221676 100644
--- a/addons/metadata.common.musicbrainz.org/musicbrainz.xml
+++ b/addons/metadata.common.musicbrainz.org/musicbrainz.xml
@@ -91,19 +91,19 @@
</GetMBAlbumTitleByMBID>
<ParseMBAlbumTitle dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;musicBrainzAlbumID&gt;\1&lt;/musicBrainzAlbumID&gt;&lt;title&gt;\2&lt;/title&gt;" dest="2">
+ <RegExp input="$$1" output="&lt;musicbrainzalbumid&gt;\1&lt;/musicbrainzalbumid&gt;&lt;title&gt;\2&lt;/title&gt;" dest="2">
<expression noclean="1">&lt;release id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;</expression>
</RegExp>
- <!--MBID - release group-->
+ <!--MBID - release group-->
<RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
<expression noclean="1">&lt;release-group\stype=&quot;[^&quot;]*&quot;\sid=&quot;([^&quot;]*)&quot;</expression>
</RegExp>
<RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
<expression noclean="1">&lt;release-group\stype=&quot;[^&quot;]*&quot;\stype-id=&quot;[^&quot;]*&quot;\sid=&quot;([^&quot;]*)&quot;</expression>
- </RegExp>
+ </RegExp>
<RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
<expression noclean="1">&lt;release-group\sid=&quot;([^&quot;]*)&quot;\stype=&quot;[^&quot;]*&quot;</expression>
- </RegExp>
+ </RegExp>
<RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
<expression noclean="1">&lt;release-group\sid=&quot;([^&quot;]*)&quot;\stype-id=&quot;[^&quot;]*&quot;</expression>
</RegExp>
@@ -112,7 +112,10 @@
</RegExp>
<RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
<expression noclean="1">&lt;release-group\stype-id=&quot;[^&quot;]*&quot;\stype=&quot;[^&quot;]*&quot;\sid=&quot;([^&quot;]*)&quot;</expression>
- </RegExp>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;scrapedmbid&gt;\1&lt;/scrapedmbid&gt;" dest="2+">
+ <expression noclean="1" />
+ </RegExp>
<expression noclean="1">(.+)</expression>
</RegExp>
</ParseMBAlbumTitle>
diff --git a/addons/metadata.common.theaudiodb.com/addon.xml b/addons/metadata.common.theaudiodb.com/addon.xml
index b25f09b14c..0969e65f2b 100644
--- a/addons/metadata.common.theaudiodb.com/addon.xml
+++ b/addons/metadata.common.theaudiodb.com/addon.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.theaudiodb.com"
name="TheAudioDb Scraper Library"
- version="1.9.1"
+ version="2.0.0"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.theaudiodb.com/tadb.xml b/addons/metadata.common.theaudiodb.com/tadb.xml
index 5538b21f4e..60912060a7 100644
--- a/addons/metadata.common.theaudiodb.com/tadb.xml
+++ b/addons/metadata.common.theaudiodb.com/tadb.xml
@@ -50,6 +50,118 @@
</RegExp>
</ParseTADBArtistFanarts>
+ <GetTADBArtistClearlogoByID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistClearlogo&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetTADBArtistClearlogoByID>
+ <GetTADBArtistClearlogoByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistClearlogo&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBArtistClearlogoByMBID>
+ <ParseTADBArtistClearlogo dest="5" clearbuffers="no">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="14">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;clearlogo&quot; preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="14">
+ <expression repeat="yes">strArtistLogo\d?&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <RegExp input="$$14" output="\1" dest="13">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBArtistClearlogo>
+
+ <GetTADBArtistClearartByID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistClearart&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetTADBArtistClearartByID>
+ <GetTADBArtistClearartByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistClearart&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBArtistClearartByMBID>
+ <ParseTADBArtistClearart dest="5" clearbuffers="no">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="14">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;clearart&quot; preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="14">
+ <expression repeat="yes">strArtistClearart\d?&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <RegExp input="$$14" output="\1" dest="13">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBArtistClearart>
+
+ <GetTADBArtistLandscapeByID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistLandscape&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetTADBArtistLandscapeByID>
+ <GetTADBArtistLandscapeByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistLandscape&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBArtistLandscapeByMBID>
+ <ParseTADBArtistLandscape dest="5" clearbuffers="no">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="14">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;landscape&quot; preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="14">
+ <expression repeat="yes">strArtistWideThumb\d?&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <RegExp input="$$14" output="\1" dest="13">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBArtistLandscape>
+
+ <GetTADBArtistBannerByID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistBanner&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetTADBArtistBannerByID>
+ <GetTADBArtistBannerByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBArtistBanner&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBArtistBannerByMBID>
+ <ParseTADBArtistBanner dest="5" clearbuffers="no">
+ <RegExp input="$$13" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="13">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="14">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot; preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="14">
+ <expression repeat="yes">strArtistBanner\d?&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <RegExp input="$$14" output="\1" dest="13">
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBArtistBanner>
+
<GetTADBBiographyByID dest="5" clearbuffers="no">
<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBBiography&quot; cache=&quot;tadb-\1-artist.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/artist.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
<expression noclean="1"/>
@@ -575,4 +687,61 @@
</RegExp>
</ParseTADBAlbumThumbs>
+ <GetTADBAlbumBackByID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumBack&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album.php?m=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumBackByID>
+ <GetTADBAlbumBackByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumBack&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumBackByMBID>
+ <ParseTADBAlbumBack dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;back&quot; preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="2">
+ <expression repeat="yes">strAlbumThumbBack\d?&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBAlbumBack>
+
+ <GetTADBAlbumDiscartByID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumDiscart&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album.php?m=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumDiscartByID>
+ <GetTADBAlbumDiscartByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumDiscart&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumDiscartByMBID>
+ <ParseTADBAlbumDiscart dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;discart&quot; preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="2">
+ <expression repeat="yes">strAlbumCDart\d?&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBAlbumDiscart>
+
+ <GetTADBAlbumSpineByID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumSpine&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album.php?m=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumSpineByID>
+ <GetTADBAlbumSpineByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseTADBAlbumSpine&quot; cache=&quot;tadb-\1-album.json&quot;&gt;http://www.theaudiodb.com/api/v1/json/58424d43204d6564696120/album-mb.php?i=\1&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1"/>
+ </RegExp>
+ </GetTADBAlbumSpineByMBID>
+ <ParseTADBAlbumSpine dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;thumb aspect=&quot;spine&quot; preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="2">
+ <expression repeat="yes">strAlbumSpine\d?&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseTADBAlbumSpine>
+
</scraperfunctions>
diff --git a/addons/metadata.common.themoviedb.org/addon.xml b/addons/metadata.common.themoviedb.org/addon.xml
index 0f5b905349..8000a309f4 100644
--- a/addons/metadata.common.themoviedb.org/addon.xml
+++ b/addons/metadata.common.themoviedb.org/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.common.themoviedb.org"
name="The Movie Database Scraper Library"
- version="2.17.6"
+ version="3.1.7"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.common.themoviedb.org/tmdb.xml b/addons/metadata.common.themoviedb.org/tmdb.xml
index ed637830c8..722fa466b4 100644
--- a/addons/metadata.common.themoviedb.org/tmdb.xml
+++ b/addons/metadata.common.themoviedb.org/tmdb.xml
@@ -1,88 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<scraperfunctions>
- <GetTMDBCertificationsByIdChain dest="4">
+ <GetTMDBCertificationsByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id::certification_country::certification_prefix-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCertifications&quot; cache=&quot;tmdb-cert-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/releases?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbcertcountry]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="\1" dest="16">
+ <expression>.+::(.+)::(.+)?</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="17">
+ <expression>.+::.+::(.+)?</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCertifications&quot; cache=&quot;tmdb-cert-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/releases?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)::(.+)?</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</GetTMDBCertificationsByIdChain>
<ParseTMDBCertifications dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;mpaa&gt;$INFO[certprefix]\1&lt;/mpaa&gt;" dest="2">
- <expression fixchars="1">certification&quot;:&quot;([^&quot;]*)&quot;,&quot;[^&quot;]*&quot;:&quot;$INFO[tmdbcertcountry]&quot;(.*?),&quot;</expression>
+ <RegExp input="$$1" output="\1" dest="15">
+ <expression fixchars="1">certification&quot;:&quot;([^&quot;]*)&quot;,&quot;[^&quot;]*&quot;:&quot;$$16&quot;(.*?),&quot;</expression>
+ </RegExp>
+ <RegExp input="$$15" output="&lt;mpaa&gt;$$17 \1&lt;/mpaa&gt;" dest="2">
+ <expression>(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseTMDBCertifications>
- <GetTMDBTitleByIdChain dest="4">
+ <GetTMDBTitleByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTitle&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="\1::\2" dest="16">
+ <expression>(.+)::(.+)</expression>
</RegExp>
- <expression noclean="1" />
- </RegExp>
- </GetTMDBTitleByIdChain>
- <GetTMDBLangTitleByIdChain dest="4">
- <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTitle&quot; cache=&quot;tmdb-$INFO[tmdbtitlelanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbtitlelanguage]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTitle&quot; cache=&quot;tmdb-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
- <RegExp input="$INFO[tmdbtitlelanguage]" output="$$2" dest="5">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTitle&quot; cache=&quot;tmdb-$INFO[tmdbsearchlanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbsearchlanguage]&lt;/url&gt;" dest="2">
- <expression/>
+ <RegExp input="$$1" output="$$2" dest="5">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTitle&quot; cache=&quot;tmdb-en-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=en&lt;/url&gt;" dest="2">
+ <expression>(.+)::</expression>
</RegExp>
- <expression>Keep Original</expression>
+ <expression>(.+)::Keep Original</expression>
</RegExp>
<expression noclean="1"/>
</RegExp>
- </GetTMDBLangTitleByIdChain>
+ </GetTMDBTitleByIdChain>
<ParseTMDBTitle dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;title&gt;\1&lt;/title&gt;" dest="2">
<expression fixchars="1">&quot;title&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
- <RegExp input="$INFO[tmdbtitlelanguage]" output="$$3" dest="2">
+ <RegExp input="$$16" output="$$3" dest="2">
<RegExp input="$$1" output="&lt;title&gt;\1&lt;/title&gt;" dest="3">
<expression fixchars="1">&quot;original_title&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
- <expression>Keep Original</expression>
+ <expression>(.+)::Keep Original</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseTMDBTitle>
- <GetTMDBPlotByIdChain clearbuffers="no" dest="4">
+ <GetTMDBPlotByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
<RegExp input="$$1" output="\1" dest="8">
- <expression clear="yes" noclean="1" />
+ <expression encode="1">(.+)::.+</expression>
</RegExp>
- <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBPlot&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBPlot&quot; cache=&quot;tmdb-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</GetTMDBPlotByIdChain>
- <GetTMDBLangPlotByIdChain clearbuffers="no" dest="4">
- <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="\1" dest="8">
- <expression clear="yes" noclean="1" />
- </RegExp>
- <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBPlot&quot; cache=&quot;tmdb-$INFO[tmdbplotlanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbplotlanguage]&lt;/url&gt;" dest="5">
- <expression />
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </GetTMDBLangPlotByIdChain>
<ParseTMDBPlot dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="9">
<expression clear="yes" fixchars="1">&quot;overview&quot;:&quot;(.*?)&quot;,&quot;</expression>
</RegExp>
- <RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBPlot&quot; cache=&quot;tmdb-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="2">
+ <RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBPlot&quot; cache=&quot;tmdb-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=en&lt;/url&gt;" dest="2">
<expression>^$</expression>
</RegExp>
<RegExp input="$$9" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="2">
@@ -100,34 +93,23 @@
</RegExp>
</ParseFallbackTMDBPlot>
- <GetTMDBTaglineByIdChain clearbuffers="no" dest="4">
+ <GetTMDBTaglineByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
<RegExp input="$$1" output="\1" dest="8">
- <expression clear="yes" noclean="1" />
+ <expression>(.+)::.+</expression>
</RegExp>
- <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBTagline&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTagline&quot; cache=&quot;tmdb-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</GetTMDBTaglineByIdChain>
- <GetTMDBLangTaglineByIdChain clearbuffers="no" dest="4">
- <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="\1" dest="8">
- <expression clear="yes" noclean="1" />
- </RegExp>
- <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBTagline&quot; cache=&quot;tmdb-$INFO[tmdbtaglinelanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbtaglinelanguage]&lt;/url&gt;" dest="5">
- <expression />
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </GetTMDBLangTaglineByIdChain>
<ParseTMDBTagline dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="9">
- <expression clear="yes" fixchars="1">&quot;tagline&quot;:&quot;([^&quot;]*)</expression>
+ <expression clear="yes" fixchars="1">&quot;tagline&quot;:&quot;(.*?)&quot;,&quot;</expression>
</RegExp>
- <RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBTagline&quot; cache=&quot;tmdb-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="2">
+ <RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBTagline&quot; cache=&quot;tmdb-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=en&lt;/url&gt;" dest="2">
<expression>^$</expression>
</RegExp>
<RegExp input="$$9" output="&lt;tagline&gt;\1&lt;/tagline&gt;" dest="2">
@@ -139,18 +121,18 @@
<ParseFallbackTMDBTagline dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="&lt;tagline&gt;\1&lt;/tagline&gt;" dest="2">
- <expression clear="yes" fixchars="1">&quot;tagline&quot;:&quot;([^&quot;]*)</expression>
+ <expression clear="yes" fixchars="1">&quot;tagline&quot;:&quot;(.*?)&quot;,&quot;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</ParseFallbackTMDBTagline>
- <GetTMDBTagsByIdChain clearbuffers="no" dest="4">
+ <GetTMDBTagsByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
<RegExp input="$$1" output="\1" dest="8">
<expression clear="yes" noclean="1" />
</RegExp>
- <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBTags&quot; &gt;https://api.tmdb.org/3/movie/\1/keywords?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
+ <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBTags&quot; &gt;https://api.tmdb.org/3/movie/\1/keywords?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5">
<expression />
</RegExp>
<expression noclean="1" />
@@ -165,57 +147,114 @@
</RegExp>
</ParseTMDBTags>
- <GetTMDBSetByIdChain clearbuffers="no" dest="4">
+ <GetTMDBSetByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
<RegExp input="$$1" output="\1" dest="8">
- <expression clear="yes" noclean="1" />
+ <expression>(.+)::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\2" dest="10">
+ <expression>(.+)::(.+)</expression>
</RegExp>
- <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBSet&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
+ <RegExp input="$$8" output="&lt;url function=&quot;GetTMDBSetID&quot; cache=&quot;tmdb-$$10-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=$$10&lt;/url&gt;" dest="5">
<expression />
</RegExp>
<expression noclean="1" />
</RegExp>
</GetTMDBSetByIdChain>
- <GetTMDBLangSetByIdChain clearbuffers="no" dest="4">
- <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="\1" dest="8">
- <expression clear="yes" noclean="1" />
+ <GetTMDBSetID dest="5" clearbuffers="no">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="\1" dest="9">
+ <expression clear="yes" noclean="1">&quot;belongs_to_collection&quot;:\{&quot;id&quot;:([0-9]+),&quot;name&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
- <RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBSet&quot; cache=&quot;tmdb-$INFO[tmdbsetlanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbsetlanguage]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$9" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="2">
+ <expression>(.+)</expression>
+ </RegExp>
+ <RegExp input="$$9" output="&lt;url function=&quot;ParseTMDBSetOutline&quot; cache=&quot;tmdbset-$$10-\1.json&quot;&gt;https://api.tmdb.org/3/collection/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=$$10&amp;amp;append_to_response=images&amp;amp;include_image_language=$$10,en,null&lt;/url&gt;" dest="2+">
+ <expression>(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
- </GetTMDBLangSetByIdChain>
- <ParseTMDBSet dest="5">
+ </GetTMDBSetID>
+ <ParseTMDBSetOutline dest="5" clearbuffers="no">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="\1" dest="9">
- <expression clear="yes" noclean="1">&quot;belongs_to_collection&quot;:\{&quot;id&quot;:[0-9]+,&quot;name&quot;:&quot;([^&quot;]*)</expression>
+ <RegExp input="$$4" output="&lt;set&gt;\1&lt;/set&gt;$$13$$14" dest="2">
+ <RegExp input="$$1" output="\1" dest="11">
+ <expression noclean="1">&quot;id&quot;:[0-9]+,&quot;name&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <RegExp input="$$11" output="&lt;name&gt;\1&lt;/name&gt;" dest="4">
+ <expression>(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="6">
+ <expression noclean="1">&quot;id&quot;:([0-9]+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="9">
+ <expression fixchars="1">&quot;id&quot;:[0-9]+,&quot;name&quot;:&quot;[^&quot;]*&quot;,&quot;overview&quot;:&quot;(.*?)&quot;,&quot;</expression>
+ </RegExp>
+ <RegExp input="$$9" output="&lt;overview&gt;\1&lt;/overview&gt;" dest="4+">
+ <expression>(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="7">
+ <expression clear="yes" noclean="1">&quot;posters&quot;:\[\{([^\]]*)</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;set&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" clear="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:&quot;$$10</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;set&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:&quot;en</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;set&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:null</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="7">
+ <expression clear="yes" noclean="1">&quot;backdrops&quot;:\[\{([^\]]*)</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;setfanart&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="14">
+ <expression clear="yes" repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
+ <expression noclean="1" />
</RegExp>
- <RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBSet&quot; cache=&quot;tmdb-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="2">
+ <RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBSetOutline&quot; cache=&quot;tmdbset-en-$$6.json&quot;&gt;https://api.tmdb.org/3/collection/$$6?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=en&amp;amp;append_to_response=images&amp;amp;include_image_language=$$10,en,null&lt;/url&gt;" dest="2">
<expression>^$</expression>
</RegExp>
- <RegExp input="$$9" output="&lt;set&gt;\1&lt;/set&gt;" dest="2">
- <expression>(.+)</expression>
- </RegExp>
<expression noclean="1" />
</RegExp>
- </ParseTMDBSet>
- <ParseFallbackTMDBSet dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="&lt;set&gt;\1&lt;/set&gt;" dest="2">
- <expression noclean="1">&quot;belongs_to_collection&quot;:\{&quot;id&quot;:[0-9]+,&quot;name&quot;:&quot;([^&quot;]*)</expression>
+ </ParseTMDBSetOutline>
+ <ParseFallbackTMDBSetOutline dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;&lt;set&gt;\1&lt;/set&gt;$$13$$14&lt;/details&gt;" dest="5">
+ <RegExp input="$$11" output="&lt;name&gt;\1&lt;/name&gt;" dest="2">
+ <expression>(.+)</expression>
</RegExp>
+ <RegExp input="$$1" output="&lt;overview&gt;\1&lt;/overview&gt;" dest="2+">
+ <expression noclean="1">&quot;id&quot;:[0-9]+,&quot;name&quot;:&quot;[^&quot;]*&quot;,&quot;overview&quot;:&quot;(.*?)&quot;,&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="7">
+ <expression clear="yes" noclean="1">&quot;posters&quot;:\[\{([^\]]*)</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;set&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="13">
+ <expression repeat="yes" clear="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:&quot;$$10</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;set&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:&quot;en</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;set&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="13+">
+ <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:null</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="7">
+ <expression clear="yes" noclean="1">&quot;backdrops&quot;:\[\{([^\]]*)</expression>
+ </RegExp>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;setfanart&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="14">
+ <expression clear="yes" repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)</expression>
+ </RegExp>
<expression noclean="1" />
</RegExp>
- </ParseFallbackTMDBSet>
+ </ParseFallbackTMDBSetOutline>
- <GetTMDBCastByIdChain dest="4">
+ <GetTMDBCastByIdChain dest="4"> <!-- Expected chaining format= tmdb_id-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5">
<expression />
</RegExp>
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCast&quot; cache=&quot;tmdb-cast-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/casts?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5+">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCast&quot; cache=&quot;tmdb-cast-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/casts?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5+">
<expression />
</RegExp>
<expression noclean="1" />
@@ -236,9 +275,9 @@
</RegExp>
</ParseTMDBCast>
- <GetTMDBDirectorsByIdChain dest="4">
+ <GetTMDBDirectorsByIdChain dest="4"> <!-- Expected chaining format= tmdb_id-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBDirectors&quot; cache=&quot;tmdb-cast-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/casts?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBDirectors&quot; cache=&quot;tmdb-cast-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/casts?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5">
<expression />
</RegExp>
<expression noclean="1" />
@@ -256,9 +295,9 @@
</RegExp>
</ParseTMDBDirectors>
- <GetTMDBWitersByIdChain dest="4">
+ <GetTMDBWitersByIdChain dest="4"> <!-- Expected chaining format= tmdb_id-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBWriters&quot; cache=&quot;tmdb-cast-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/casts?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBWriters&quot; cache=&quot;tmdb-cast-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/casts?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5">
<expression />
</RegExp>
<expression noclean="1" />
@@ -276,22 +315,14 @@
</RegExp>
</ParseTMDBWriters>
- <GetTMDBGenresByIdChain dest="4">
+ <GetTMDBGenresByIdChain dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBGenres&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBGenres&quot; cache=&quot;tmdb-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</GetTMDBGenresByIdChain>
- <GetTMDBLangGenresByIdChain dest="4">
- <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBGenres&quot; cache=&quot;tmdb-$INFO[tmdbgenreslanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbgenreslanguage]&lt;/url&gt;" dest="5">
- <expression />
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </GetTMDBLangGenresByIdChain>
<ParseTMDBGenres dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="7">
@@ -306,8 +337,14 @@
<GetTMDBRatingByIdChain dest="4"> <!-- Compatibility function for Pre-Krypton versions-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBRating&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="\2" dest="11">
+ <expression>(.+)::(..)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\2" dest="11">
+ <expression>(.+)::([^\|]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBRating&quot; cache=&quot;tmdb-$$11-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=$$11&lt;/url&gt;" dest="5">
+ <expression>^(.+)::</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -324,9 +361,15 @@
</RegExp>
</ParseTMDBRating>
- <GetTMDBRatingsByIdChain dest="4" clearbuffers="no">
+ <GetTMDBRatingsByIdChain dest="4" clearbuffers="no"> <!-- Expected chaining format= tmdb_id::language_for_caching-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBRatings&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
+ <RegExp input="$$1" output="\2" dest="11">
+ <expression>(.+)::(..)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\2" dest="11">
+ <expression>(.+)::([^\|]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBRatings&quot; cache=&quot;tmdb-$$11-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=$$11&lt;/url&gt;" dest="5">
<expression noclean="1">^((tt)?\d+)</expression>
</RegExp>
<RegExp input="$$1" output="default=&quot;true&quot;" dest="3">
@@ -347,10 +390,10 @@
</RegExp>
</ParseTMDBRatings>
- <GetTMDBStudioByIdChain dest="4">
+ <GetTMDBStudioByIdChain dest="4"> <!-- Expected chaining format= tmdb_id::language_for_caching-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBStudio&quot; cache=&quot;tmdb-en-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBStudio&quot; cache=&quot;tmdb-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -367,10 +410,10 @@
</RegExp>
</ParseTMDBStudio>
- <GetTMDBCountryByIdChain dest="4">
+ <GetTMDBCountryByIdChain dest="4"> <!-- Expected chaining format= tmdb_id::language_for_caching-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCountry&quot; cache=&quot;tmdb-en-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCountry&quot; cache=&quot;tmdb-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -387,22 +430,14 @@
</RegExp>
</ParseTMDBCountry>
- <GetTMDBTrailerByIdChain dest="4">
+ <GetTMDBTrailerByIdChain dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTrailer&quot; cache=&quot;tmdb-trailer-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/trailers?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTrailer&quot; cache=&quot;tmdb-trailer-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/trailers?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
</GetTMDBTrailerByIdChain>
- <GetTMDBLangTrailerByIdChain dest="4">
- <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTrailer&quot; cache=&quot;tmdb-trailer-$INFO[tmdbtrailerlanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/trailers?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbtrailerlanguage]&lt;/url&gt;" dest="5">
- <expression />
- </RegExp>
- <expression noclean="1" />
- </RegExp>
- </GetTMDBLangTrailerByIdChain>
<ParseTMDBTrailer dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="8">
@@ -414,7 +449,7 @@
<RegExp input="$$7" output="&lt;trailer&gt;plugin://plugin.video.youtube/?action=play_video&amp;amp;videoid=\1&lt;/trailer&gt;" dest="9">
<expression noclean="1">&quot;source&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
- <RegExp input="$$9" output="&lt;url function=&quot;ParseTMDBEnTrailer&quot; cache=&quot;tmdb-trailer-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/trailers?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="2">
+ <RegExp input="$$9" output="&lt;url function=&quot;ParseTMDBEnTrailer&quot; cache=&quot;tmdb-trailer-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/trailers?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=en&lt;/url&gt;" dest="2">
<expression>^$</expression>
</RegExp>
<RegExp input="$$9" output="$$9" dest="2">
@@ -434,7 +469,7 @@
<RegExp input="$$7" output="&lt;trailer&gt;plugin://plugin.video.youtube/?action=play_video&amp;amp;videoid=\1&lt;/trailer&gt;" dest="9">
<expression noclean="1">&quot;source&quot;:&quot;([^&quot;]*)</expression>
</RegExp>
- <RegExp input="$$9" output="&lt;url function=&quot;ParseTMDBAllTrailer&quot; cache=&quot;tmdb-trailer-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/trailers?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
+ <RegExp input="$$9" output="&lt;url function=&quot;ParseTMDBAllTrailer&quot; cache=&quot;tmdb-trailer-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/trailers?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="2">
<expression>^$</expression>
</RegExp>
<RegExp input="$$9" output="$$9" dest="2">
@@ -455,14 +490,17 @@
</RegExp>
</ParseTMDBAllTrailer>
- <GetTMDBFanartByIdChain dest="4">
+ <GetTMDBFanartByIdChain dest="4"> <!-- Expected chaining format= tmdb_id::poster_language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="\2" dest="11">
+ <expression>(.+)::(.+)</expression>
</RegExp>
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBFanart&quot; cache=&quot;tmdb-images-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5+">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5">
<expression />
</RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBFanart&quot; cache=&quot;tmdb-images-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/images?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=$$11&amp;amp;include_image_language=$$11,en,null&lt;/url&gt;" dest="5+">
+ <expression>(.+)::(.+)</expression>
+ </RegExp>
<expression noclean="1" />
</RegExp>
</GetTMDBFanartByIdChain>
@@ -478,116 +516,66 @@
</RegExp>
</ParseTMDBFanart>
- <GetTMDBThumbsByIdChain dest="4">
+ <GetTMDBThumbsByIdChain clearbuffers="no" dest="4"> <!-- Expected chaining format= tmdb_id::language-->
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="\2" dest="11">
+ <expression>(.+)::(.+)</expression>
</RegExp>
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBThumbs&quot; cache=&quot;tmdb-images-$INFO[language]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5+">
- <expression />
+ <RegExp input="$$1" output="\1" dest="13">
+ <expression>(.+)::(.+)</expression>
</RegExp>
- <expression noclean="1" />
- </RegExp>
- </GetTMDBThumbsByIdChain>
- <GetTMDBLangThumbsByIdChain dest="4">
- <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBBaseImageURL&quot; cache=&quot;tmdb-config.json&quot;&gt;https://api.tmdb.org/3/configuration?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="5">
<expression />
</RegExp>
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBLangThumbs&quot; cache=&quot;tmdb-images-$INFO[tmdbthumblanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbthumblanguage]&lt;/url&gt;" dest="5+">
- <expression />
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBThumbs&quot; cache=&quot;tmdb-images-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1/images?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=$$11&amp;amp;include_image_language=$$11,en,null&lt;/url&gt;" dest="5+">
+ <expression>(.+)::(.+)</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
- </GetTMDBLangThumbsByIdChain>
+ </GetTMDBThumbsByIdChain>
<ParseTMDBThumbs clearbuffers="no" dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="\1" dest="8">
- <expression noclean="1">&quot;id&quot;:([0-9]*),</expression>
- </RegExp>
<RegExp input="$$1" output="\1" dest="7">
<expression clear="yes" noclean="1">&quot;posters&quot;:\[\{([^\]]*)</expression>
</RegExp>
<RegExp input="$$7" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="9">
- <expression clear="yes" repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)</expression>
+ <expression repeat="yes" clear="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:&quot;$$11</expression>
</RegExp>
- <RegExp input="$$9" output="$$9" dest="2">
- <expression clear="yes">(.+)</expression>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="9+">
+ <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:&quot;en</expression>
</RegExp>
- <RegExp input="$$9" output="$$12" dest="2+">
- <RegExp input="$INFO[language]" output="&lt;url function=&quot;ParseTMDBAllThumbs&quot; cache=&quot;tmdb-images-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="12">
- <expression>en</expression>
- </RegExp>
- <expression>^$</expression>
- </RegExp>
- <RegExp input="$INFO[language]" output="&lt;url function=&quot;ParseTMDBEnThumbs&quot; cache=&quot;tmdb-images-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="2+">
- <expression>^((?!en).)*$</expression>
- </RegExp>
- <expression noclean="1">(.+)</expression>
- </RegExp>
- </ParseTMDBThumbs>
- <ParseTMDBLangThumbs clearbuffers="no" dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="\1" dest="8">
- <expression noclean="1">&quot;id&quot;:([0-9]*),</expression>
- </RegExp>
- <RegExp input="$$1" output="\1" dest="7">
- <expression clear="yes" noclean="1">&quot;posters&quot;:\[\{([^\]]*)</expression>
- </RegExp>
- <RegExp input="$$7" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="9">
- <expression clear="yes" repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)</expression>
+ <RegExp input="$$7" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="10">
+ <expression repeat="yes" clear="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:null</expression>
</RegExp>
<RegExp input="$$9" output="$$9" dest="2">
- <expression clear="yes">(.+)</expression>
+ <expression>(.+)</expression>
</RegExp>
- <RegExp input="$$9" output="$$12" dest="2+">
- <RegExp input="$INFO[tmdbthumblanguage]" output="&lt;url function=&quot;ParseTMDBAllThumbs&quot; cache=&quot;tmdb-images-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="12">
- <expression>en</expression>
- </RegExp>
+ <RegExp input="$$9" output="$$10" dest="2">
<expression>^$</expression>
</RegExp>
- <RegExp input="$INFO[tmdbthumblanguage]" output="&lt;url function=&quot;ParseTMDBEnThumbs&quot; cache=&quot;tmdb-images-en-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=en&lt;/url&gt;" dest="2+">
- <expression>^((?!en).)*$</expression>
- </RegExp>
- <expression noclean="1">(.+)</expression>
- </RegExp>
- </ParseTMDBLangThumbs>
- <ParseTMDBEnThumbs clearbuffers="no" dest="5">
- <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
- <RegExp input="$$1" output="\1" dest="8">
- <expression noclean="1">&quot;id&quot;:([0-9]*),</expression>
- </RegExp>
- <RegExp input="$$1" output="\1" dest="7">
- <expression clear="yes" noclean="1">&quot;posters&quot;:\[\{([^\]]*)</expression>
- </RegExp>
- <RegExp input="$$7" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="9">
- <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)</expression>
- </RegExp>
- <RegExp input="$$9" output="$$9" dest="2">
- <expression clear="yes">(.+)</expression>
- </RegExp>
- <RegExp input="$$9" output="&lt;url function=&quot;ParseTMDBAllThumbs&quot; cache=&quot;tmdb-images-$$8.json&quot;&gt;https://api.tmdb.org/3/movie/$$8/images?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&lt;/url&gt;" dest="2">
+ <RegExp input="$$2" output="&lt;url function=&quot;ParseFallbackTMDBThumbs&quot;&gt;https://api.tmdb.org/3/movie/$$13/images?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&lt;/url&gt;" dest="2">
<expression>^$</expression>
</RegExp>
- <expression noclean="1">(.+)</expression>
+ <expression noclean="1" />
</RegExp>
- </ParseTMDBEnThumbs>
- <ParseTMDBAllThumbs dest="5">
+ </ParseTMDBThumbs>
+
+ <ParseFallbackTMDBThumbs dest="5">
<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
<RegExp input="$$1" output="\1" dest="7">
<expression clear="yes" noclean="1">&quot;posters&quot;:\[\{([^\]]*)</expression>
</RegExp>
<RegExp input="$$7" output="&lt;thumb aspect=&quot;poster&quot; preview=&quot;$$20w500\1&quot;&gt;$$20original\1&lt;/thumb&gt;" dest="2">
- <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)</expression>
+ <expression repeat="yes" noclean="1">&quot;file_path&quot;:&quot;([^&quot;]*)[^:]*:[^:]*:&quot;[^&quot;]*</expression>
</RegExp>
- <expression noclean="1">(.+)</expression>
+ <expression noclean="1" />
</RegExp>
- </ParseTMDBAllThumbs>
+ </ParseFallbackTMDBThumbs>
<ParseTMDBBaseImageURL clearbuffers="no" dest="4">
<RegExp input="$$5" output="&lt;details&gt;$$20&lt;/details&gt;" dest="4">
<RegExp input="$$1" output="\1" dest="20">
- <expression>"images":\{"base_url":"([^"]*)"</expression>
+ <expression>&quot;images&quot;:\{&quot;base_url&quot;:&quot;([^&quot;]*)&quot;</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
@@ -595,8 +583,17 @@
<GetTMDBPremieredByIdChain dest="4">
<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
- <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBPremiered&quot; cache=&quot;tmdb-$INFO[tmdbtitlelanguage]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=ecbc86c92da237cb9faff6d3ddc4be6d&amp;amp;language=$INFO[tmdbtitlelanguage]&lt;/url&gt;" dest="5">
- <expression />
+ <RegExp input="$$1" output="\2" dest="16">
+ <expression>(.+)::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBPremiered&quot; cache=&quot;tmdb-\2-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=\2&lt;/url&gt;" dest="5">
+ <expression>(.+)::(.+)</expression>
+ </RegExp>
+ <RegExp input="$$16" output="$$2" dest="5">
+ <RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBPremiered&quot; cache=&quot;tmdb-$INFO[tmdbcertcountry]-\1.json&quot;&gt;https://api.tmdb.org/3/movie/\1?api_key=45ab4cebe57ae11c2ee50c87005ddfe8&amp;amp;language=$INFO[tmdbcertcountry]&lt;/url&gt;" dest="2">
+ <expression/>
+ </RegExp>
+ <expression>Keep Original</expression>
</RegExp>
<expression noclean="1" />
</RegExp>
diff --git a/addons/metadata.tvdb.com/addon.xml b/addons/metadata.tvdb.com/addon.xml
index f8faed97af..b39891ef14 100644
--- a/addons/metadata.tvdb.com/addon.xml
+++ b/addons/metadata.tvdb.com/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="metadata.tvdb.com"
name="The TVDB"
- version="3.0.7"
+ version="3.0.9"
provider-name="Team Kodi">
<requires>
<import addon="xbmc.metadata" version="2.1.0"/>
diff --git a/addons/metadata.tvdb.com/changelog.txt b/addons/metadata.tvdb.com/changelog.txt
index b7eb058965..7066da2f46 100644
--- a/addons/metadata.tvdb.com/changelog.txt
+++ b/addons/metadata.tvdb.com/changelog.txt
@@ -1,3 +1,9 @@
+[B]3.0.9[/B]
+- Fixed: Character encoding fixes (part 2)
+
+[B]3.0.8[/B]
+- Fixed: Character encoding fixes
+
[B]3.0.7[/B]
- Fixed: Episode list changes
diff --git a/addons/metadata.tvdb.com/tvdb.xml b/addons/metadata.tvdb.com/tvdb.xml
index acd90c6d71..6fc8144d7d 100644
--- a/addons/metadata.tvdb.com/tvdb.xml
+++ b/addons/metadata.tvdb.com/tvdb.xml
@@ -145,6 +145,9 @@
</xsl:stylesheet>
</XSLT>
+ <RegExp input="$$6" output="\1" dest="6">
+ <expression noclean="1" fixchars="1"/>
+ </RegExp>
</GetSearchResultsAuth>
<!-- input : $$1=series html -->
@@ -237,7 +240,7 @@
<RegExp input="$$1" output="&lt;episodeguide&gt;&lt;url post=&quot;yes&quot; cache=&quot;auth.json&quot;&gt;https://api.thetvdb.com/login?{&quot;apikey&quot;:&quot;439DFEBA9D3059C6&quot;,&quot;id&quot;:\1}|Content-Type=application/json&lt;/url&gt;&lt;/episodeguide&gt;" dest="4+">
<expression noclean="1">"id":\s*?(\d+),</expression>
</RegExp>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</GetDetails>
<GetFallbackDetails dest="3" clearbuffers="no">
@@ -260,7 +263,7 @@
</RegExp>
<expression>missingplot</expression>
</RegExp>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</GetFallbackDetails>
<GetActors dest="3" clearbuffers="no">
@@ -276,7 +279,7 @@
<RegExp input="$$1" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\2&lt;/role&gt;&lt;order&gt;\3&lt;/order&gt;&lt;/actor&gt;" dest="5+">
<expression repeat="yes" fixchars="1,2">"name":\s*?"([^}]+)",\s*?"role":\s*?"([^}]+)",\s*?"sortOrder":\s*?(\d+),\s*?"image":\s*?(?:""|null),</expression>
</RegExp>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</ParseActors>
<GetArt dest="3" clearbuffers="no">
@@ -443,7 +446,7 @@
<RegExp input="$$2" output="https://api.thetvdb.com/login?{&quot;apikey&quot;:&quot;439DFEBA9D3059C6&quot;,&quot;id&quot;:\1}|Content-Type=application/json" dest="2">
<expression>http://(?:www\.)?thetvdb\.com/api/.+/series/(\d+)/all/</expression>
</RegExp>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</GetEpisodeList>
<GetEpisodeListAuth dest="3" clearbuffers="no">
@@ -483,7 +486,7 @@
</xsl:stylesheet>
</XSLT>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</GetEpisodeListAuth>
<LoadEpisodeList dest="4" clearbuffers="no">
@@ -771,7 +774,7 @@
</RegExp>
<expression>(?!^\Q$INFO[fallbacklanguage]\E$)</expression>
</RegExp>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</GetEpisodeDetailsAuth>
<GetFallbackEpisodeDetails dest="3" clearbuffers="no">
@@ -797,7 +800,7 @@
<RegExp input="$$10" output="&lt;Episode&gt;\1&lt;/Episode&gt;" dest="13+">
<expression noclean="1"/>
</RegExp>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</GetFallbackEpisodeDetails>
<ParseEpisodeDetails dest="4" clearbuffers="no">
@@ -1099,7 +1102,7 @@
</xsl:stylesheet>
</XSLT>
- <expression noclean="1"/>
+ <expression noclean="1" fixchars="1"/>
</RegExp>
</ParseEpisodeDetails>
</scraper>