Skip to content
This repository
Browse code

[scrapers] sync master with current scraper repo

  • Loading branch information...
commit 64d3b8e87d681c91553fa296a65f77bb3786a67e 1 parent 37e8e4e
Martijn Kaijser authored November 14, 2012

Showing 41 changed files with 665 additions and 123 deletions. Show diff stats Hide diff stats

  1. 11  addons/metadata.album.universal/addon.xml
  2. 13  addons/metadata.album.universal/albumuniversal.xml
  3. 28  addons/metadata.album.universal/changelog.txt
  4. 13  addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.xml
  5. 4  addons/metadata.album.universal/resources/settings.xml
  6. 17  addons/metadata.artists.universal/addon.xml
  7. 13  addons/metadata.artists.universal/artistuniversal.xml
  8. 33  addons/metadata.artists.universal/changelog.txt
  9. 24  addons/metadata.artists.universal/resources/language/Chinese (Simple)/strings.xml
  10. 8  addons/metadata.artists.universal/resources/settings.xml
  11. 2  addons/metadata.common.allmusic.com/addon.xml
  12. 16  addons/metadata.common.allmusic.com/allmusic.xml
  13. 2  addons/metadata.common.fanart.tv/addon.xml
  14. 36  addons/metadata.common.fanart.tv/fanarttv.xml
  15. 8  addons/metadata.common.hdtrailers.net/addon.xml
  16. 27  addons/metadata.common.hdtrailers.net/hdtrailers.xml
  17. BIN  addons/metadata.common.hdtrailers.net/icon.png
  18. 2  addons/metadata.common.imdb.com/addon.xml
  19. 19  addons/metadata.common.imdb.com/changelog.txt
  20. BIN  addons/metadata.common.imdb.com/icon.png
  21. 155  addons/metadata.common.imdb.com/imdb.xml
  22. 2  addons/metadata.common.last.fm/addon.xml
  23. 5  addons/metadata.common.last.fm/lastfm.xml
  24. 2  addons/metadata.common.themoviedb.org/addon.xml
  25. BIN  addons/metadata.common.themoviedb.org/icon.png
  26. 208  addons/metadata.common.themoviedb.org/tmdb.xml
  27. 4  addons/metadata.musicvideos.last.fm/addon.xml
  28. 5  addons/metadata.musicvideos.last.fm/resources/language/Chinese (Simple)/strings.xml
  29. 6  addons/metadata.themoviedb.org/addon.xml
  30. 20  addons/metadata.themoviedb.org/changelog.txt
  31. 7  addons/metadata.themoviedb.org/resources/language/Chinese (Simple)/strings.xml
  32. 3  addons/metadata.themoviedb.org/resources/language/Dutch/strings.xml
  33. 5  addons/metadata.themoviedb.org/resources/language/English/strings.xml
  34. 2  addons/metadata.themoviedb.org/resources/language/German/strings.xml
  35. 1  addons/metadata.themoviedb.org/resources/language/Hungarian/strings.xml
  36. 7  addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml
  37. 4  addons/metadata.themoviedb.org/resources/settings.xml
  38. 24  addons/metadata.themoviedb.org/tmdb.xml
  39. 2  addons/metadata.tvdb.com/addon.xml
  40. 15  addons/metadata.tvdb.com/changelog.txt
  41. 35  addons/metadata.tvdb.com/tvdb.xml
11  addons/metadata.album.universal/addon.xml
... ...
@@ -1,24 +1,29 @@
1  
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  1
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.album.universal"
3 3
        name="Universal Album Scraper"
4  
-       version="1.2.2"
  4
+       version="1.4.0"
5 5
        provider-name="Olympia, Team XBMC">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
8 8
     <import addon="metadata.common.last.fm" version="1.3.2"/>
9 9
     <import addon="metadata.common.allmusic.com" version="2.3.1"/>
10 10
     <import addon="metadata.common.musicbrainz.org" version="1.2.3"/>
11  
-    <import addon="metadata.common.fanart.tv" version="1.0.1"/>
  11
+    <import addon="metadata.common.fanart.tv" version="2.0.0"/>
12 12
     <import addon="metadata.common.amazon.de" version="1.0.0"/>
  13
+    <import addon="metadata.common.theaudiodb.com" version="1.1.0"/>
13 14
   </requires>
14 15
   <extension point="xbmc.metadata.scraper.albums"
15 16
              language="en"
16 17
              library="albumuniversal.xml"/>
17 18
   <extension point="xbmc.addon.metadata">
18 19
     <summary lang="en">Universal Scraper for Albums</summary>
  20
+    <summary lang="zh">通用音乐专辑信息刮削器</summary>
19 21
     <description lang="en">This scraper collects information from the following supported sites: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.
20 22
 
21 23
 The initial search is always done on MusicBrainz. In case allmusic and/or amazon.de links are not added on the MusicBrainz site, fields from allmusic.com and/or amazon.de cannot be fetched (very easy to add those missing links though).</description>
  24
+    <description lang="zh">本刮削器支持从以下网站获取信息:MusicBrainz、last.fm、allmusic.com和amazon.de,并从以下网站获取艺术图片:fanart.tv、last.fm和allmusic.com。你可以指定每一项内容的来源网站。
  25
+
  26
+初始结果总是先从MusicBrainz获取。如果MusicBrainz网站没有到allmusic和/或amazon.de的外部链接,则无法获取allmusic.com的/或amazon.de的信息(当然你能很容易地加入缺失的链接)。</description>
22 27
     <platform>all</platform>
23 28
   </extension>
24 29
 </addon>
13  addons/metadata.album.universal/albumuniversal.xml
@@ -6,12 +6,12 @@
6 6
 		</RegExp>
7 7
 	</NfoUrl>
8 8
 	<CreateAlbumSearchUrl dest="3">
9  
-		<RegExp input="$$1" output="&lt;url&gt;http://search.musicbrainz.org/ws/2/release/?fmt=xml&amp;query=release:&quot;\1&quot;%20AND%20artist:&quot;$$2&quot;&lt;/url&gt;" dest="3">
  9
+		<RegExp input="$$1" output="&lt;url&gt;http://search.musicbrainz.org/ws/2/release/?fmt=xml&amp;query=release:\1%20AND%20artist:$$4&lt;/url&gt;" dest="3">
10 10
 			<RegExp input="$$2" output="\1" dest="4">
11 11
 				<expression noclean="1">(.+)</expression>
12 12
 			</RegExp>
13 13
 			<RegExp input="$$2" output="\1" dest="6">
14  
-				<expression noclean="1">(.+)(?:Ft%2e|Feat%2e|Ft.|Feat.|%20and%20)</expression>
  14
+				<expression noclean="1">(.+)(?:Ft%2e|Feat%2e|%20Ft\.|%20Feat\.|%20and%20)</expression>
15 15
 			</RegExp>
16 16
 			<RegExp input="$$6" output="\1" dest="4">
17 17
 				<expression>(.+)</expression>
@@ -27,6 +27,12 @@
27 27
 			<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;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
28 28
 				<expression repeat="yes">id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&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-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-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>
29 29
 			</RegExp>
  30
+			<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;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5">
  31
+				<expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&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-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-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>
  32
+			</RegExp>
  33
+			<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;http://musicbrainz.org/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/entity&gt;" dest="5+">
  34
+				<expression repeat="yes">id=&quot;([^&quot;]*)&quot; ext:score=&quot;[^&quot;]*&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;status&gt;Official&lt;/status&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-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-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>
  35
+			</RegExp>
30 36
 			<expression noclean="1" />
31 37
 		</RegExp>
32 38
 	</GetAlbumSearchResults>
@@ -69,6 +75,9 @@
69 75
 			<RegExp input="$INFO[albumreviewsource]" output="&lt;chain function=&quot;GetLastFMAlbumReviewByAlbumAndArtist&quot;&gt;$$7::$$8::$$7::$$8&lt;/chain&gt;" dest="5+">
70 76
 				<expression>last.fm</expression>
71 77
 			</RegExp>
  78
+			<RegExp input="$INFO[albumreviewsource]" output="&lt;chain function=&quot;GetTADBAlbumReviewByMBID&quot;&gt;$$4&lt;/chain&gt;" dest="5+">
  79
+				<expression>TheAudioDb.com</expression>
  80
+			</RegExp>
72 81
 			<RegExp input="$INFO[albumreviewsource]" output="&lt;url function=&quot;GetAmazonDEAlbumReview&quot;&gt;http://musicbrainz.org/ws/2/release-group/$$4?inc=url-rels&lt;/url&gt;" dest="5+">
73 82
 				<expression>amazon.de</expression>
74 83
 			</RegExp>
28  addons/metadata.album.universal/changelog.txt
... ...
@@ -1,3 +1,31 @@
  1
+[B]1.4.0[/B]
  2
+Added back fanart.tv scraping via JSON API. Still off by default.
  3
+
  4
+[B]1.3.7[/B]
  5
+Temporarily disable fanarttv.com scraping due to site load issues
  6
+
  7
+[B]1.3.6[/B]
  8
+Fixed: Scraper now works with both API layout
  9
+
  10
+[B]1.3.5[/B]
  11
+Added: Chinese translation
  12
+
  13
+[B]1.3.4[/B]
  14
+Fixed: MusicBrainz reverted back previous API layout changes so scraper needs to be reverted too
  15
+
  16
+[B]1.3.3[/B]
  17
+Fixed: Broken search after API result layout changes
  18
+
  19
+[B]1.3.2[/B]
  20
+Changed: Loosen up search results
  21
+
  22
+[B]1.3.1[/B]
  23
+Tuned: Artist Splitter
  24
+
  25
+[B]1.3.0[/B]
  26
+Added: scraping album review from TheAudioDb.com
  27
+Fixed: Artist Splitter
  28
+
1 29
 [B]1.2.2[/B]
2 30
 Fixed: accommodate new Frodo style URL encoding
3 31
 
13  addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.xml
... ...
@@ -0,0 +1,13 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<strings>
  3
+    <string id="30000">启用fanart.tv专辑图片</string>
  4
+    <string id="30001">启用Last.fm专辑图片</string>
  5
+    <string id="30002">专辑评论获取于</string>
  6
+    <string id="30003">     首选语言</string>
  7
+    <string id="30004">专辑评分获取于</string>
  8
+    <string id="30005">专辑风格获取于</string>
  9
+    <string id="30006">专辑心情获取于</string>
  10
+    <string id="30007">专辑主题获取于</string>
  11
+    <string id="30008">启用allmusic.com专辑图片</string>
  12
+    <string id="30009">艺术图片</string>
  13
+</strings>
4  addons/metadata.album.universal/resources/settings.xml
@@ -2,7 +2,7 @@
2 2
 <settings>
3 3
   <category label="128">
4 4
     <setting type="lsep" label="General Settings"/>
5  
-      <setting label="30002" type="labelenum" values="last.fm|amazon.de|None" id="albumreviewsource" default="last.fm"/>
  5
+      <setting label="30002" type="labelenum" values="last.fm|TheAudioDb.com|amazon.de|None" id="albumreviewsource" default="last.fm"/>
6 6
       <setting label="30003" type="labelenum" values="en|de|es|fr|it|jp|pl|pt|ru|sv|tr|zh" id="lastfmlanguage" default="en" visible="eq(-1,0)"/>
7 7
       <setting type="sep"/>
8 8
       <setting label="30004" type="labelenum" values="MusicBrainz|allmusic.com|None" id="albumratingsource" default="MusicBrainz"/>
@@ -13,7 +13,7 @@
13 13
 
14 14
   <category label="30009">
15 15
     <setting type="lsep" label="Artwork Settings"/>
16  
-      <setting label="30000" type="bool" id="fanarttvalbumthumbs" default="true"/>
  16
+      <setting label="30000" type="bool" id="fanarttvalbumthumbs" default="false"/>
17 17
       <setting label="30001" type="bool" id="lastfmalbumthumbs" default="true"/>
18 18
       <setting label="30008" type="bool" id="allmusicalbumthumbs" default="true"/>
19 19
   </category>
17  addons/metadata.artists.universal/addon.xml
... ...
@@ -1,24 +1,29 @@
1  
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  1
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.artists.universal"
3 3
        name="Universal Artist Scraper"
4  
-       version="2.0.6"
  4
+       version="2.2.0"
5 5
        provider-name="Team XBMC">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
8  
-    <import addon="metadata.common.last.fm" version="1.4.1"/>
9  
-    <import addon="metadata.common.allmusic.com" version="2.4.1"/>
  8
+    <import addon="metadata.common.last.fm" version="1.5.1"/>
  9
+    <import addon="metadata.common.allmusic.com" version="2.5.2"/>
10 10
     <import addon="metadata.common.musicbrainz.org" version="1.2.1"/>
11 11
     <import addon="metadata.common.htbackdrops.com" version="1.2.0"/>
12  
-    <import addon="metadata.common.fanart.tv" version="1.1.0"/>
  12
+    <import addon="metadata.common.fanart.tv" version="2.0.0"/>
  13
+    <import addon="metadata.common.theaudiodb.com" version="1.2.0"/>
13 14
   </requires>
14 15
   <extension point="xbmc.metadata.scraper.artists"
15 16
              language="en"
16 17
              library="artistuniversal.xml"/>
17 18
   <extension point="xbmc.addon.metadata">
18 19
     <summary lang="en">Universal Scraper for Artists</summary>
19  
-    <description lang="en">This scraper collects information from the following supported sites: MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.
  20
+    <summary lang="zh">通用艺术家信息刮削器</summary>
  21
+    <description lang="en">This scraper collects information from the following supported sites: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.
20 22
 
21 23
 The initial search is always done on MusicBrainz. In case allmusic link is not added on the MusicBrainz site fields from allmusic.com cannot be fetched (very easy to add those missing links though).</description>
  24
+    <description lang="zh">本刮削器支持从以下网站获取信息:TheAudioDb.com、MusicBrainz、last.fm和allmusic.com,并从以下网站获取艺术图片:fanart.tv、htbackdrops.com、last.fm和allmusic.com。你可以指定每一项内容的来源网站。
  25
+
  26
+初始结果总是先从MusicBrainz获取,如果MusicBrainz网站未加入到allmusic的外部链接,则无法获取allmusic.com的信息(当然你能很容易地加入缺失的链接)。</description>
22 27
     <platform>all</platform>
23 28
   </extension>
24 29
 </addon>
13  addons/metadata.artists.universal/artistuniversal.xml
@@ -6,12 +6,12 @@
6 6
 		</RegExp>
7 7
 	</NfoUrl>
8 8
 	<CreateArtistSearchUrl dest="3">
9  
-		<RegExp input="$$1" output="&lt;url&gt;http://search.musicbrainz.org/ws/2/artist/?fmt=xml&amp;query=artist:&quot;$$4&quot;&amp;limit=100&lt;/url&gt;" dest="3">
  9
+		<RegExp input="$$1" output="&lt;url&gt;http://search.musicbrainz.org/ws/2/artist/?fmt=xml&amp;query=artist:$$4&amp;limit=100&lt;/url&gt;" dest="3">
10 10
 			<RegExp input="$$1" output="\1" dest="4">
11 11
 				<expression noclean="1">(.+)</expression>
12 12
 			</RegExp>
13 13
 			<RegExp input="$$1" output="\1" dest="6">
14  
-				<expression noclean="1">(.+)(?:Ft%2e|Feat%2e|Ft.|Feat.|%20and%20)</expression>
  14
+				<expression noclean="1">(.+)(?:Ft%2e|Feat%2e|%20Ft\.|%20Feat\.|%20and%20)</expression>
15 15
 			</RegExp>
16 16
 			<RegExp input="$$6" output="\1" dest="4">
17 17
 				<expression>(.+)</expression>
@@ -22,6 +22,9 @@
22 22
 	<GetArtistSearchResults dest="8">
23 23
 		<RegExp input="$$5" output="&lt;results&gt;\1&lt;/results&gt;" dest="8">
24 24
 			<RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\2&lt;/title&gt;&lt;genre&gt;\7&lt;/genre&gt;&lt;url cache=&quot;mb-\1-artist.xml&quot;&gt;http://www.musicbrainz.org/ws/2/artist/\1?inc=url-rels&lt;/url&gt;&lt;/entity&gt;" dest="9">
  25
+				<expression repeat="yes" noclean="1">artist id=&quot;([^&quot;]*)&quot;(?:\stype=&quot;[^&quot;]*&quot;)* ext:score=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)?(&lt;gender&gt;[^&lt;]*&lt;/gender&gt;)?(&lt;country&gt;[^&lt;]*&lt;/country&gt;)?(&lt;disambiguation&gt;([^&lt;]*))?</expression>
  26
+			</RegExp>
  27
+			<RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\2&lt;/title&gt;&lt;genre&gt;\7&lt;/genre&gt;&lt;url cache=&quot;mb-\1-artist.xml&quot;&gt;http://www.musicbrainz.org/ws/2/artist/\1?inc=url-rels&lt;/url&gt;&lt;/entity&gt;" dest="9">
25 28
 				<expression repeat="yes" noclean="1">artist ext:score=&quot;[^&quot;]*&quot;(?:\stype=&quot;[^&quot;]*&quot;)* id=&quot;([^&quot;]*)&quot;&gt;&lt;name&gt;([^&lt;]*)&lt;/name&gt;(&lt;sort-name&gt;[^&lt;]*&lt;/sort-name&gt;)?(&lt;gender&gt;[^&lt;]*&lt;/gender&gt;)?(&lt;country&gt;[^&lt;]*&lt;/country&gt;)?(&lt;disambiguation&gt;([^&lt;]*))?</expression>
26 29
 			</RegExp>
27 30
 			<RegExp input="$$9" output="\1" dest="5">
@@ -40,6 +43,9 @@
40 43
 			<RegExp input="$$1" output="\2" dest="9">
41 44
 				<expression noclean="1">&gt;&lt;relation type=&quot;allmusic&quot;&gt;&lt;target&gt;http://(www.)?allmusic.com/artist/([^&lt;]*)</expression>
42 45
 			</RegExp>
  46
+			<RegExp input="$$1" output="&lt;name&gt;\1&lt;/name&gt;" dest="5">
  47
+				<expression noclean="1">&lt;artist(?:\stype=&quot;[^&quot;]*&quot;)* id=&quot;[^&quot;]*&quot;&gt;&lt;name&gt;([^&lt;]*)</expression>
  48
+			</RegExp>
43 49
 			<RegExp input="$$8" conditional="fanarttvthumbs" output="&lt;chain function=&quot;GetFanartTvArtistThumbsByMBID&quot;&gt;\1&lt;/chain&gt;" dest="5+">
44 50
 				<expression/>
45 51
 			</RegExp>
@@ -79,6 +85,9 @@
79 85
 			<RegExp input="$INFO[stylessource]" output="&lt;chain function=&quot;GetLastFMArtistStylesByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="5+">
80 86
 				<expression>last.fm</expression>
81 87
 			</RegExp>
  88
+			<RegExp input="$INFO[biogsource]" output="&lt;chain function=&quot;GetTADBBiographyByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="5+">
  89
+				<expression>TheAudioDb.com</expression>
  90
+			</RegExp>
82 91
 			<expression noclean="1"/>
83 92
 		</RegExp>
84 93
 	</GetArtistDetails>
33  addons/metadata.artists.universal/changelog.txt
... ...
@@ -1,3 +1,36 @@
  1
+[B]2.2.0[/B]
  2
+Added back fanart.tv scraping via JSON API. Still off by default.
  3
+
  4
+[B]2.1.9[/B]
  5
+Temporarily disable fanarttv.com scraping due to site load issues
  6
+
  7
+[B]2.1.8[/B]
  8
+Fixed: Scraper now works with both API layouts
  9
+
  10
+[B]2.1.7[/B]
  11
+Added: Chinese translation
  12
+
  13
+[B]2.1.6[/B]
  14
+Fixed: MusicBrainz reverted back previous API layout changes so scraper needs to be reverted too
  15
+
  16
+[B]2.1.5[/B]
  17
+Fixed: Broken search after API result layout changes
  18
+
  19
+[B]2.1.4[/B]
  20
+Added: correctly populate the artist name into MusicInfoArtist
  21
+
  22
+[B]2.1.3[/B]
  23
+Fixed: fallback from last.fm
  24
+
  25
+[B]2.1.2[/B]
  26
+Changed: Loosen up search results
  27
+
  28
+[B]2.1.1[/B]
  29
+Tuned: Artist Splitter
  30
+
  31
+[B]2.1.0[/B]
  32
+Added: scraping Biography from TheAudioDb.com
  33
+
1 34
 [B]2.0.6[/B]
2 35
 Fixed: accommodate new Frodo style URL encoding
3 36
 
24  addons/metadata.artists.universal/resources/language/Chinese (Simple)/strings.xml
... ...
@@ -0,0 +1,24 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<strings>
  3
+    <string id="30000">启用HTBackdrops.com艺人同人画</string>
  4
+    <string id="30001">启用allmusic.com艺人图片</string>
  5
+    <string id="30002">启用last.fm艺人图片</string>
  6
+    <string id="30003">启用HTBackdrops.com艺人图片</string>
  7
+    <string id="30004">启用fanart.tv艺人同人画</string>
  8
+    <string id="30005">启用fanart.tv艺人图片</string>
  9
+    <string id="30006">艺人传记获取于</string>
  10
+    <string id="30007">艺术图片</string>
  11
+    <string id="30008">艺人唱片目录获取于</string>
  12
+    <string id="30009">艺人类型获取于</string>
  13
+    <string id="30010">艺人风格获取于</string>
  14
+    <string id="30011">艺人生卒年月获取于</string>
  15
+    <string id="30012">艺人心情获取于</string>
  16
+    <string id="30014">艺人活跃期获取于</string>
  17
+    <string id="30015">     首选语言</string>
  18
+    <string id="30016">备选艺人传记获取于</string>
  19
+    <string id="30017">备选艺人唱片目录获取于</string>
  20
+    <string id="30018">备选艺人类型获取于</string>
  21
+    <string id="30019">备选艺人风格获取于</string>
  22
+    <string id="30020">备选艺人生卒年月获取于</string>
  23
+    <string id="30021">备选</string>
  24
+</strings>
8  addons/metadata.artists.universal/resources/settings.xml
... ...
@@ -1,7 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <settings>
3 3
   <category label="128">
4  
-      <setting label="30006" type="labelenum" values="last.fm|None" id="biogsource" default="last.fm"/>
  4
+      <setting label="30006" type="labelenum" values="last.fm|TheAudioDb.com|None" id="biogsource" default="last.fm"/>
5 5
       <setting label="30015" type="labelenum" values="en|de|es|fr|it|jp|pl|pt|ru|sv|tr|zh" id="lastfmlanguage" default="en" visible="eq(-1,0)"/>
6 6
       <setting type="sep"/>
7 7
       <setting label="30008" type="labelenum" values="last.fm|MusicBrainz|allmusic.com|None" id="discogsource" default="MusicBrainz"/>
@@ -14,7 +14,7 @@
14 14
   </category>
15 15
 
16 16
   <category label="30021">
17  
-      <setting label="30016" type="labelenum" values="last.fm|None" id="biogfbsource" default="None"/>
  17
+      <setting label="30016" type="labelenum" values="last.fm|TheAudioDb.com|None" id="biogfbsource" default="None"/>
18 18
       <setting label="30015" type="labelenum" values="en|de|es|fr|it|jp|pl|pt|ru|sv|tr|zh" id="lastfmlanguage" default="en" visible="eq(-1,0)"/>
19 19
       <setting type="sep"/>
20 20
       <setting label="30017" type="labelenum" values="last.fm|MusicBrainz|None" id="discogfbsource" default="None" visible="false"/>
@@ -25,12 +25,12 @@
25 25
 
26 26
   <category label="30007">
27 27
     <setting type="lsep" label="Thumb Sources"/>
28  
-    <setting label="30005" type="bool" id="fanarttvthumbs" default="true"/>
  28
+    <setting label="30005" type="bool" id="fanarttvthumbs" default="false"/>
29 29
     <setting label="30003" type="bool" id="htbthumbs" default="true"/>
30 30
     <setting label="30002" type="bool" id="lastfmartistthumbs" default="true"/>
31 31
     <setting label="30001" type="bool" id="allmusicartistthumbs" default="true"/>
32 32
     <setting type="lsep" label="Fanart Sources"/>
33  
-    <setting label="30004" type="bool" id="fanarttvfanart" default="true"/>
  33
+    <setting label="30004" type="bool" id="fanarttvfanart" default="false"/>
34 34
     <setting label="30000" type="bool" id="htbfanart" default="true"/>
35 35
   </category>
36 36
 
2  addons/metadata.common.allmusic.com/addon.xml
... ...
@@ -1,7 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.common.allmusic.com"
3 3
        name="AllMusic"
4  
-        version="2.4.3"
  4
+        version="2.5.2"
5 5
        provider-name="Team XBMC">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
16  addons/metadata.common.allmusic.com/allmusic.xml
@@ -33,6 +33,9 @@
33 33
 				<RegExp input="$INFO[biogfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackBiographyByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
34 34
 					<expression>last.fm</expression>
35 35
 				</RegExp>
  36
+				<RegExp input="$INFO[biogfbsource]" output="&lt;chain function=&quot;GetTADBFMFallbackBiographyByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
  37
+					<expression>TheAudioDb.com</expression>
  38
+				</RegExp>
36 39
 				<expression>^$</expression>
37 40
 			</RegExp>
38 41
 			<RegExp input="$$11" output="&lt;biography&gt;\1&lt;/biography&gt;" dest="2">
@@ -52,7 +55,7 @@
52 55
 			<RegExp input="" output="" dest="2">
53 56
 				<expression />
54 57
 			</RegExp>
55  
-			<RegExp input="$$1" output="\1" dest="2">
  58
+			<RegExp input="$$1" output="&lt;biography&gt;\1&lt;/biography&gt;" dest="2">
56 59
 				<expression clear="yes">&quot; itemprop=&quot;description&quot;&gt;(.*?)div class=&quot;advertisement leaderboard&quot;&gt;</expression>
57 60
 			</RegExp>
58 61
 			<expression noclean="1"/>
@@ -294,10 +297,13 @@
294 297
 			<RegExp input="" output="" dest="2">
295 298
 				<expression />
296 299
 			</RegExp>
297  
-			<RegExp input="$$1" output="\1" dest="9">
  300
+			<RegExp input="" output="" dest="4">
  301
+				<expression />
  302
+			</RegExp>
  303
+			<RegExp input="$$1" output="\1" dest="4">
298 304
 				<expression noclean="1">&lt;h4&gt;photo gallery&lt;/h4&gt;(.*?)&lt;h4&gt;</expression>
299 305
 			</RegExp>
300  
-			<RegExp input="$$9" output="&lt;thumb&gt;http://cps-static.rovicorp.com/3/JPG_1080/\1&lt;/thumb&gt;" dest="2">
  306
+			<RegExp input="$$4" output="&lt;thumb&gt;http://cps-static.rovicorp.com/3/JPG_1080/\1&lt;/thumb&gt;" dest="2">
301 307
 				<expression repeat="yes" noclean="1">&lt;img src=&quot;http://cps-static.rovicorp.com/3/JPG_[^/]*/([^&quot;]*)</expression>
302 308
 			</RegExp>
303 309
 			<expression noclean="1"/>
@@ -436,10 +442,10 @@
436 442
 	</GetAMGAlbumThemesByAMGID>
437 443
 	<ParseAMGAlbumThemes dest="5">
438 444
 		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
439  
-			<RegExp input="$$1" output="\1" dest="9">
  445
+			<RegExp input="$$1" output="\1" dest="4">
440 446
 				<expression noclean="1">&lt;h4&gt;album themes&lt;/h4&gt;(.*?)&lt;/ul&gt;</expression>
441 447
 			</RegExp>
442  
-			<RegExp input="$$9" output="&lt;theme&gt;\1&lt;/theme&gt;" dest="2">
  448
+			<RegExp input="$$4" output="&lt;theme&gt;\1&lt;/theme&gt;" dest="2">
443 449
 				<expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
444 450
 			</RegExp>
445 451
 			<expression noclean="1" />
2  addons/metadata.common.fanart.tv/addon.xml
... ...
@@ -1,7 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.common.fanart.tv"
3 3
        name="fanart.tv"
4  
-       version="1.1.0"
  4
+       version="2.0.0"
5 5
        provider-name="Team XBMC">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
36  addons/metadata.common.fanart.tv/fanarttv.xml
... ...
@@ -1,6 +1,6 @@
1 1
 <scraperfunctions>
2 2
 	<GetFanartTvArtistThumbsByMBID dest="5" clearbuffers="no">
3  
-		<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvArtistThumbs&quot; cache=&quot;fanarttv-artistimages-\1.xml&quot;&gt;http://fanart.tv/webservice/artist/ed4b784f97227358b31ca4dd966a04f1/\1/xml/&lt;/url&gt;&lt;/details&gt;" dest="5">
  3
+		<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvArtistThumbs&quot; cache=&quot;fanarttv-artistimages-\1.json&quot;&gt;http://fanart.tv/webservice/artist/ed4b784f97227358b31ca4dd966a04f1/\1/json/&lt;/url&gt;&lt;/details&gt;" dest="5">
4 4
 			<expression noclean="1" />
5 5
 		</RegExp>
6 6
 	</GetFanartTvArtistThumbsByMBID>
@@ -9,15 +9,21 @@
9 9
 			<RegExp input="" output="" dest="13">
10 10
 				<expression />
11 11
 			</RegExp>
12  
-			<RegExp input="$$1" output="&lt;thumb preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="13">
13  
-				<expression repeat="yes" noclean="1">&lt;artistthumb id=&quot;[^&quot;]*&quot; url=&quot;([^&quot;]*)</expression>
  12
+			<RegExp input="" output="" dest="16">
  13
+				<expression />
  14
+			</RegExp>
  15
+			<RegExp input="$$1" output="\1" dest="16">
  16
+				<expression noclean="1">&quot;artistthumb&quot;:\[(.*?)\],&quot;</expression>
  17
+			</RegExp>
  18
+			<RegExp input="$$16" output="&lt;thumb preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="13">
  19
+				<expression repeat="yes" noclean="1">&quot;id&quot;:&quot;\d*&quot;,&quot;url&quot;:&quot;([^&quot;]*)</expression>
14 20
 			</RegExp>
15 21
 			<expression noclean="1" />
16 22
 		</RegExp>
17 23
 	</ParseFanartTvArtistThumbs>
18 24
 
19 25
 	<GetFanartTvArtistFanartsByMBID dest="5" clearbuffers="no">
20  
-		<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvArtistFanarts&quot; cache=&quot;fanarttv-artistimages-\1.xml&quot;&gt;http://fanart.tv/webservice/artist/ed4b784f97227358b31ca4dd966a04f1/\1/xml/&lt;/url&gt;&lt;/details&gt;" dest="5">
  26
+		<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvArtistFanarts&quot; cache=&quot;fanarttv-artistimages-\1.json&quot;&gt;http://fanart.tv/webservice/artist/ed4b784f97227358b31ca4dd966a04f1/\1/json/&lt;/url&gt;&lt;/details&gt;" dest="5">
21 27
 			<expression noclean="1" />
22 28
 		</RegExp>
23 29
 	</GetFanartTvArtistFanartsByMBID>
@@ -29,8 +35,14 @@
29 35
 			<RegExp input="" output="" dest="14">
30 36
 				<expression />
31 37
 			</RegExp>
32  
-			<RegExp input="$$1" output="&lt;thumb preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="14">
33  
-				<expression repeat="yes" noclean="1">&lt;artistbackground id=&quot;[^&quot;]*&quot; url=&quot;([^&quot;]*)</expression>
  38
+			<RegExp input="" output="" dest="16">
  39
+				<expression />
  40
+			</RegExp>
  41
+			<RegExp input="$$1" output="\1" dest="16">
  42
+				<expression noclean="1">&quot;artistbackground&quot;:\[(.*?)\],&quot;</expression>
  43
+			</RegExp>
  44
+			<RegExp input="$$16" output="&lt;thumb preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="14">
  45
+				<expression repeat="yes" noclean="1">&quot;id&quot;:&quot;\d*&quot;,&quot;url&quot;:&quot;([^&quot;]*)</expression>
34 46
 			</RegExp>
35 47
 			<RegExp input="$$14" output="\1" dest="13">
36 48
 				<expression noclean="1">(.+)</expression>
@@ -40,7 +52,7 @@
40 52
 	</ParseFanartTvArtistFanarts>
41 53
 
42 54
 	<GetFanartTvAlbumThumbsByMBID dest="5" clearbuffers="no">
43  
-		<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvAlbumThumbs&quot; cache=&quot;fanarttv-albumimages-\1.xml&quot;&gt;http://fanart.tv/webservice/album/ed4b784f97227358b31ca4dd966a04f1/\1/xml/&lt;/url&gt;&lt;/details&gt;" dest="5">
  55
+		<RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFanartTvAlbumThumbs&quot; cache=&quot;fanarttv-albumimages-\1.json&quot;&gt;http://fanart.tv/webservice/album/ed4b784f97227358b31ca4dd966a04f1/\1/json/&lt;/url&gt;&lt;/details&gt;" dest="5">
44 56
 			<expression noclean="1" />
45 57
 		</RegExp>
46 58
 	</GetFanartTvAlbumThumbsByMBID>
@@ -49,8 +61,14 @@
49 61
 			<RegExp input="" output="" dest="13">
50 62
 				<expression />
51 63
 			</RegExp>
52  
-			<RegExp input="$$1" output="&lt;thumb preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="13">
53  
-				<expression repeat="yes" noclean="1">&lt;albumcover id=&quot;[^&quot;]*&quot; url=&quot;([^&quot;]*)</expression>
  64
+			<RegExp input="" output="" dest="16">
  65
+				<expression />
  66
+			</RegExp>
  67
+			<RegExp input="$$1" output="\1" dest="16">
  68
+				<expression noclean="1">&quot;albumcover&quot;:\[(.*?)\]\}</expression>
  69
+			</RegExp>
  70
+			<RegExp input="$$16" output="&lt;thumb preview=&quot;\1/preview&quot;&gt;\1&lt;/thumb&gt;" dest="13">
  71
+				<expression repeat="yes" noclean="1">&quot;id&quot;:&quot;\d*&quot;,&quot;url&quot;:&quot;([^&quot;]*)</expression>
54 72
 			</RegExp>
55 73
 			<expression noclean="1" />
56 74
 		</RegExp>
8  addons/metadata.common.hdtrailers.net/addon.xml
... ...
@@ -1,7 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.common.hdtrailers.net"
3 3
        name="HD-Trailers common scraper functions"
4  
-       version="1.0.7"
  4
+       version="1.0.8"
5 5
        provider-name="Bence Nádas (olympia)">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
@@ -9,31 +9,25 @@
9 9
   <extension point="xbmc.metadata.scraper.library"
10 10
              library="hdtrailers.xml"/>
11 11
   <extension point="xbmc.addon.metadata">
12  
-    <summary lang="bg">Библиотека за сваляне на инф. от HD-Trailers.net</summary>
13 12
     <summary lang="en">HD-Trailers.net Scraper Library</summary>
14 13
     <summary lang="de">Scraper für Trailer von HD-Trailers.net</summary>
15 14
     <summary lang="es">Scraper de Trailers de HD-Trailers.net</summary>
16  
-    <summary lang="fi">HD-Trailers.net trailerilataajan kirjasto</summary>
17 15
     <summary lang="fr">Scraper HD-Trailers.net pour les bande-annonces</summary>
18 16
     <summary lang="hu">HD-Trailers.net leolvasó-könyvtár</summary>
19 17
     <summary lang="nl">HD-Trailers.net Scraper Collectie</summary>
20 18
     <summary lang="pl">Scraper zwiastunów HD-Trailers.net</summary>
21 19
     <summary lang="pt">Scraper de trailers de HD-Trailers.net</summary>
22 20
     <summary lang="ru">Обработчик для трейлеров с HD-Trailers.net</summary>
23  
-    <summary lang="se">Skrapa för HD-Trailers.net</summary>
24 21
     <summary lang="zh">HD-Trailers.net刮削器代码库</summary>
25  
-    <description lang="bg">Сваля трейлъри на филми от www.hd-trailers.net</description>
26 22
     <description lang="en">Download Movie Trailers from www.hd-trailers.net</description>
27 23
     <description lang="de">Downloade Trailer von www.hd-trailers.net</description>
28 24
     <description lang="es">Descarga trailers de www.hd-trailers.net</description>
29  
-    <description lang="fi">Lataa elokuvien trailereita osoitteesta www.hd-trailers.net</description>
30 25
     <description lang="fr">Télécharge les bande-annonces de films depuis www.hd-trailers.net</description>
31 26
     <description lang="hu">Filmelőzetesek letöltése a www.hd-trailers.net-ről</description>
32 27
     <description lang="nl">Download trailers van www.hd-trailers.net</description>
33 28
     <description lang="pl">Pobieraj zwiastuny filmowe z www.hd-trailers.net</description>
34 29
     <description lang="pt">Descarregar trailers de www.hd-trailers.net</description>
35 30
     <description lang="ru">Загружать трейлеры с www.hd-trailers.net</description>
36  
-    <description lang="se">Ladda ner filmtrailers från www.hd-trailers.net</description>
37 31
     <description lang="zh">从www.hd-trailers.net下载电影预告片</description>
38 32
     <minversion>20000</minversion>
39 33
     <platform>all</platform>
27  addons/metadata.common.hdtrailers.net/hdtrailers.xml
@@ -24,9 +24,15 @@
24 24
 		</RegExp>
25 25
 	</GetHDTrailersnet1080p>
26 26
 	<Parse480pTrailer dest="5">
27  
-		<!--Fetch 480p trailer link from hdtrailers.net-->
28  
-		<RegExp input="$$1" output="&lt;details&gt;&lt;trailer&gt;http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2&lt;/trailer&gt;&lt;/details&gt;" dest="5">
29  
-			<expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
  27
+		<RegExp input="$$6" output="&lt;details&gt;&lt;trailer&gt;\1&lt;/trailer&gt;&lt;/details&gt;" dest="5">
  28
+			<!--fetch 480p trailer link from hdtrailers.net-->
  29
+			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
  30
+				<expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
  31
+			</RegExp>
  32
+			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
  33
+				<expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
  34
+			</RegExp>
  35
+			<expression noclean="1" />
30 36
 		</RegExp>
31 37
 	</Parse480pTrailer>
32 38
 	<Parse720pTrailer dest="5">
@@ -35,10 +41,16 @@
35 41
 			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
36 42
 				<expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
37 43
 			</RegExp>
  44
+			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
  45
+				<expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
  46
+			</RegExp>
38 47
 			<!--Fetch 720p trailer link from hdtrailers.net-->
39 48
 			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
40 49
 				<expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
41 50
 			</RegExp>
  51
+			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
  52
+				<expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
  53
+			</RegExp>
42 54
 			<expression noclean="1" />
43 55
 		</RegExp>
44 56
 	</Parse720pTrailer>
@@ -48,14 +60,23 @@
48 60
 			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
49 61
 				<expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
50 62
 			</RegExp>
  63
+			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
  64
+				<expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res480p</expression>
  65
+			</RegExp>
51 66
 			<!--Fallback to fetch 720p trailer link if 1080p is not available-->
52 67
 			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
53 68
 				<expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
54 69
 			</RegExp>
  70
+			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
  71
+				<expression noclean="1">&quot;&gt;(Teaser )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res720p</expression>
  72
+			</RegExp>
55 73
 			<!--Fetch 1080p trailer link from hdtrailers.net-->
56 74
 			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6">
57 75
 				<expression noclean="1">&quot;&gt;(Theatrical )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res1080p</expression>
58 76
 			</RegExp>
  77
+			<RegExp input="$$1" output="http://playlist.yahoo.com/makeplaylist.dll?sdm=web&amp;pt=rd&amp;sid=\2" dest="6+">
  78
+				<expression noclean="1">&quot;&gt;(Teaser  )?Trailer&lt;/td&gt;.*?sid=(\d*)&quot; rel=&quot;lightbox\[res1080p</expression>
  79
+			</RegExp>
59 80
 			<expression noclean="1" />
60 81
 		</RegExp>
61 82
 	</Parse1080pTrailer>
BIN  addons/metadata.common.hdtrailers.net/icon.png
2  addons/metadata.common.imdb.com/addon.xml
... ...
@@ -1,7 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.common.imdb.com"
3 3
        name="IMDB common scraper functions"
4  
-       version="2.1.9"
  4
+       version="2.4.0"
5 5
        provider-name="Team XBMC">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
19  addons/metadata.common.imdb.com/changelog.txt
... ...
@@ -1,3 +1,22 @@
  1
+[B]2.4.0[/B]
  2
+- added: aspect tag to imdb poster
  3
+
  4
+[B]2.3.0[/B]
  5
+- added: option to scrape rating from MetaCritic (via IMDb)
  6
+
  7
+[B]2.2.3[/B]
  8
+- fixed: still to address some html encode issues, now in plots
  9
+
  10
+[B]2.2.2[/B]
  11
+- fixed: still to address html encode issues
  12
+
  13
+[B]2.2.1[/B]
  14
+- fixed: hopefully fixed issue with html encodes
  15
+
  16
+[B]2.2.0[/B]
  17
+- factored out GetIMDBAKATitlesById
  18
+- factored out scraping certifications
  19
+
1 20
 [B]2.1.9[/B]
2 21
 - fixed: plot when contains html links (once again)
3 22
 
BIN  addons/metadata.common.imdb.com/icon.png
155  addons/metadata.common.imdb.com/imdb.xml
@@ -27,6 +27,20 @@
27 27
 		</RegExp>
28 28
 	</ParseIMDBRating>
29 29
 
  30
+	<GetMetaCriticRatingById dest="5">
  31
+		<RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseMetaCriticRating&quot;&gt;http://akas.imdb.com/title/$$1/&lt;/url&gt;&lt;/details&gt;" dest="5">
  32
+			<expression noclean="1" />
  33
+		</RegExp>
  34
+	</GetMetaCriticRatingById>
  35
+	<ParseMetaCriticRating dest="5">
  36
+		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
  37
+			<RegExp input="$$1" output="&lt;rating&gt;\1.\2&lt;/rating&gt;" dest="2">
  38
+				<expression>&lt;a href=&quot;criticreviews&quot;&gt;(\d)(\d*)</expression>
  39
+			</RegExp>
  40
+			<expression noclean="1" />
  41
+		</RegExp>
  42
+	</ParseMetaCriticRating>
  43
+
30 44
 	<GetIMDBPlotById dest="5">
31 45
 		<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/&lt;/url&gt;&lt;/details&gt;" dest="5">
32 46
 			<expression noclean="1" />
@@ -35,7 +49,7 @@
35 49
 	<ParseIMDBPlot dest="5">
36 50
 		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
37 51
 			<RegExp input="$$1" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="2">
38  
-				<expression trim="1">&lt;h2&gt;Storyline&lt;/h2&gt;\n+&lt;p&gt;(.*?)&lt;[^a/]</expression>
  52
+				<expression fixchars="1" trim="1">&lt;h2&gt;Storyline&lt;/h2&gt;\n+&lt;p&gt;(.*?)&lt;[^a/]</expression>
39 53
 			</RegExp>
40 54
 			<expression noclean="1" />
41 55
 		</RegExp>
@@ -51,7 +65,7 @@
51 65
 			<RegExp input="$$1" output="\1" dest="6">
52 66
 				<expression noclean="1">&lt;table class=&quot;cast_list&quot;&gt;(.*?)&lt;/table&gt;</expression>
53 67
 			</RegExp>
54  
-			<RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;\2_SX512_SY512_\3&lt;/thumb&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\5&lt;/role&gt;&lt;/actor&gt;" dest="7">
  68
+			<RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;\2_SX1024_SY1024_\3&lt;/thumb&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\5&lt;/role&gt;&lt;/actor&gt;" dest="7">
55 69
 				<expression repeat="yes" clear="yes" trim="3,4" noclean="1,2">&lt;noscript&gt;&lt;img \n[^a]*alt=&quot;([^&quot;]*)&quot;[^&quot;]*&quot;[^&quot;]*&quot;[^s]*src=&quot;(?:([^&quot;]*\.)[^&quot;]*(\.jpg))[^&gt;]*.*?ter"&gt;[^&gt;]*&gt;\n\s*(&lt;[^&gt;]*&gt;)?([^&lt;\(]*)?</expression>
56 70
 			</RegExp>
57 71
 			<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+">
@@ -131,7 +145,7 @@
131 145
 			<RegExp input="$$1" output="\1" dest="6">
132 146
 				<expression noclean="1">&lt;table class=&quot;cast&quot;&gt;(.*?)&lt;/table&gt;</expression>
133 147
 			</RegExp>
134  
-			<RegExp input="$$6" output="&lt;actor&gt;&lt;thumb&gt;\1_SX512_SY512_\2&lt;/thumb&gt;&lt;name&gt;\3&lt;/name&gt;&lt;role&gt;\5&lt;/role&gt;&lt;/actor&gt;" dest="7">
  148
+			<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">
135 149
 				<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>
136 150
 			</RegExp>
137 151
 			<RegExp input="$$7" output="&lt;actor&gt;&lt;thumb&gt;\1&lt;/thumb&gt;\2&lt;/actor&gt;" dest="2+">
@@ -205,10 +219,143 @@
205 219
 			<RegExp input="$$1" output="\1_SX$INFO[imdbscale]_SY$INFO[imdbscale]_\2" dest="4">
206 220
 				<expression noclean="1,2">&lt;a name=&quot;poster&quot;.*?src=&quot;(.*?)_S.*?(.jpg)&quot;.*?&lt;/a&gt;</expression>
207 221
 			</RegExp>
208  
-			<RegExp input="$$4" output="&lt;thumb&gt;\1&lt;/thumb&gt;" dest="6">
  222
+			<RegExp input="$$4" output="&lt;thumb aspect=&quot;poster&quot;&gt;\1&lt;/thumb&gt;" dest="6">
209 223
 				<expression noclean="1">(.*?_SX[0-9]+_SY[0-9]+_.jpg)</expression>
210 224
 			</RegExp>
211 225
 			<expression noclean="1" />
212 226
 		</RegExp>
213 227
 	</ParseIMDBThumbs>
  228
+
  229
+	<GetIMDBUSACert dest="5">
  230
+		<RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;$$1-main.html&quot; function=&quot;ParseIMDBUSACert&quot;&gt;http://akas.imdb.com/title/$$1/&lt;/url&gt;&lt;/details&gt;" dest="5">
  231
+			<expression noclean="1" />
  232
+		</RegExp>
  233
+	</GetIMDBUSACert>
  234
+	<ParseIMDBUSACert dest="5">
  235
+		<RegExp input="$$1" output="&lt;details&gt;&lt;mpaa&gt;$INFO[certprefix]\1&lt;/mpaa&gt;&lt;/details&gt;" dest="5">
  236
+			<expression>MPAA&lt;/a&gt;\)&lt;/h4&gt;\n?&lt;span itemprop=&quot;contentRating&quot;&gt;Rated\s([^&lt;]*)</expression>
  237
+		</RegExp>
  238
+	</ParseIMDBUSACert>
  239
+
  240
+	<GetIMDBCountryCert dest="5">
  241
+		<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&lt;/url&gt;&lt;/details&gt;" dest="5">
  242
+			<expression noclean="1" />
  243
+		</RegExp>
  244
+	</GetIMDBCountryCert>
  245
+	<ParseIMDBCountryCert dest="5">
  246
+		<RegExp input="$$1" output="&lt;details&gt;&lt;mpaa&gt;$INFO[certprefix]\1&lt;/mpaa&gt;&lt;/details&gt;" dest="5">
  247
+			<expression>&gt;\s*$INFO[imdbcertcountry]:([^&lt;]+)&lt;/a&gt;</expression>
  248
+		</RegExp>
  249
+	</ParseIMDBCountryCert>
  250
+
  251
+	<GetIMDBAKATitlesById dest="5">
  252
+		<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&lt;/url&gt;&lt;/details&gt;" dest="5">
  253
+			<expression noclean="1" />
  254
+		</RegExp>
  255
+	</GetIMDBAKATitlesById>
  256
+	<ParseIMDBAKATitles dest="5">
  257
+		<RegExp input="$$2" output="&lt;details&gt;&lt;title&gt;\1&lt;/title&gt;&lt;/details&gt;" dest="5">
  258
+			<RegExp input="$$1" output="\1" dest="2">
  259
+				<expression fixchars="1">&lt;h1&gt;([^&lt;]*)</expression>
  260
+			</RegExp>
  261
+			<RegExp input="$$10" output="\1" dest="4">
  262
+				<RegExp input="$$1" output="\2" dest="9">
  263
+					<expression fixchars="2">&lt;meta name=&quot;title&quot; content=&quot;(IMDb - )?(?:&amp;#x22;)?([^&quot;]*?)(?:&amp;#x22;)? \([^\(]*?([0-9]{4})\)</expression>
  264
+				</RegExp>
  265
+				<RegExp input="$$9" output="\1" dest="10">
  266
+					<expression />
  267
+				</RegExp>
  268
+				<RegExp input="$$1" output="\1" dest="11">
  269
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+Hong Kong [&lt;em&gt;][^&quot;]+English</expression>
  270
+				</RegExp>
  271
+				<RegExp input="$$11" output="\1" dest="10">
  272
+					<expression>(.+)</expression>
  273
+				</RegExp>
  274
+				<RegExp input="$$1" output="\1" dest="11">
  275
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+((Canada)\s(&lt;em&gt;)?\((English|imdb))</expression>
  276
+				</RegExp>
  277
+				<RegExp input="$$11" output="\1" dest="10">
  278
+					<expression>(.+)</expression>
  279
+				</RegExp>
  280
+				<RegExp input="$$1" output="\1" dest="11">
  281
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+(UK(&lt;em&gt;)?&lt;br&gt;)</expression>
  282
+				</RegExp>
  283
+				<RegExp input="$$11" output="\1" dest="10">
  284
+					<expression>(.+)</expression>
  285
+				</RegExp>
  286
+				<RegExp input="$$1" output="\1" dest="11">
  287
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&quot;]+International\s(&lt;em&gt;)?\(English title\)(&lt;/em&gt;)?(,|&lt;)( |b)</expression>
  288
+				</RegExp>
  289
+				<RegExp input="$$11" output="\1" dest="10">
  290
+					<expression>(.+)</expression>
  291
+				</RegExp>
  292
+				<RegExp input="$$1" output="\1" dest="11">
  293
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&quot;]+International\s(&lt;em&gt;)?\(English title\)(&lt;/em&gt;)? (&lt;em&gt;)?\(imdb</expression>
  294
+				</RegExp>
  295
+				<RegExp input="$$11" output="\1" dest="10">
  296
+					<expression>(.+)</expression>
  297
+				</RegExp>
  298
+				<RegExp input="$$1" output="\1" dest="12">
  299
+					<expression fixchars="1" clear="yes">&lt;a href=&quot;/country/[^&gt;]+&gt;(UK&lt;/a&gt;&lt;/div&gt;)</expression>
  300
+				</RegExp>
  301
+				<RegExp input="$$12" output="$$9" dest="10">
  302
+					<expression>(.+)</expression>
  303
+				</RegExp>
  304
+				<RegExp input="$$1" output="\1" dest="12">
  305
+					<expression clear="yes">&lt;a href=&quot;/country/[^&gt;]+&gt;(USA&lt;/a&gt;&lt;/div&gt;)</expression>
  306
+				</RegExp>
  307
+				<RegExp input="$$12" output="$$9" dest="10">
  308
+					<expression>(.+)</expression>
  309
+				</RegExp>
  310
+				<RegExp input="$$1" output="\1" dest="11">
  311
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+(USA(&lt;em&gt;)?&lt;br&gt;)</expression>
  312
+				</RegExp>
  313
+				<RegExp input="$$11" output="\1" dest="10">
  314
+					<expression>(.+)</expression>
  315
+				</RegExp>
  316
+				<RegExp input="$$1" output="\1" dest="11">
  317
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+((USA)\s(&lt;em&gt;)?\((English|imdb))</expression>
  318
+				</RegExp>
  319
+				<RegExp input="$$11" output="\1" dest="10">
  320
+					<expression>(.+)</expression>
  321
+				</RegExp>
  322
+				<RegExp input="$$1" output="\1" dest="11">
  323
+					<expression fixchars="1" clear="yes">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+((USA)\s(&lt;em&gt;)?\((new title))</expression>
  324
+				</RegExp>
  325
+				<RegExp input="$$11" output="\1" dest="10">
  326
+					<expression>(.+)</expression>
  327
+				</RegExp>
  328
+				<expression noclean="1" />
  329
+			</RegExp>
  330
+			<RegExp input="$$4" output="\1" dest="2">
  331
+				<expression>(.+)</expression>
  332
+			</RegExp>
  333
+			<RegExp input="$$1" output="\1" dest="4">
  334
+				<expression fixchars="1">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+$INFO[imdbakatitles]</expression>
  335
+			</RegExp>
  336
+			<RegExp input="$$4" output="\1" dest="2">
  337
+				<expression>(.+)</expression>
  338
+			</RegExp>
  339
+			<RegExp input="$$1" output="\1" dest="4">
  340
+				<expression fixchars="1">&gt;\s*?&quot;([^&lt;]+)&quot;[^&lt;]+[&lt;em&gt;]?[^&quot;]+$INFO[imdbakatitles]\s(&lt;em&gt;)?\((imdb display)</expression>
  341
+			</RegExp>
  342
+			<RegExp input="$$4" output="\1" dest="2">
  343
+				<expression>(.+)</expression>
  344
+			</RegExp>
  345
+			<RegExp input="$$1" output="\1" dest="5">
  346
+				<expression>&lt;a href=&quot;/country/[^&gt;]+&gt;($INFO[imdbakatitles])</expression>
  347
+			</RegExp>
  348
+			<RegExp input="$$5" output="$$9" dest="4">
  349
+				<expression>($INFO[imdbakatitles])</expression>
  350
+			</RegExp>
  351
+			<RegExp input="$INFO[imdbakatitles]" output="$$9" dest="4">
  352
+				<expression>Keep Original</expression>
  353
+			</RegExp>
  354
+			<RegExp input="$$4" output="\1" dest="2">
  355
+				<expression>(.+)</expression>
  356
+			</RegExp>
  357
+			<expression noclean="1" />
  358
+		</RegExp>
  359
+	</ParseIMDBAKATitles>
  360
+
214 361
 </scraperfunctions>
2  addons/metadata.common.last.fm/addon.xml
... ...
@@ -1,7 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.common.last.fm"
3 3
        name="Last.FM"
4  
-       version="1.4.1"
  4
+       version="1.5.1"
5 5
        provider-name="Team XBMC">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
5  addons/metadata.common.last.fm/lastfm.xml
@@ -37,10 +37,13 @@
37 37
 			<RegExp input="$$1" output="\1" dest="11">
38 38
 				<expression fixchars="1">&lt;content&gt;&lt;!\[CDATA\[(.*?)\]\]</expression>
39 39
 			</RegExp>
40  
-			<RegExp input="$$11" output="$$12" dest="2">
  40
+			<RegExp input="$$11" output="$$12" dest="6">
41 41
 				<RegExp input="$INFO[biogfbsource]" output="&lt;chain function=&quot;GetAMGFallbackBiographyByAMGID&quot;&gt;$$9&lt;/chain&gt;" dest="12">
42 42
 					<expression>allmusic.com</expression>
43 43
 				</RegExp>
  44
+				<RegExp input="$INFO[biogfbsource]" output="&lt;chain function=&quot;GetTADBFMFallbackBiographyByMBID&quot;&gt;$$9&lt;/chain&gt;" dest="12">
  45
+					<expression>TheAudioDb.com</expression>
  46
+				</RegExp>
44 47
 				<expression>^$</expression>
45 48
 			</RegExp>
46 49
 			<RegExp input="$$11" output="&lt;biography&gt;\1&lt;/biography&gt;" dest="6">
2  addons/metadata.common.themoviedb.org/addon.xml
... ...
@@ -1,7 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 2
 <addon id="metadata.common.themoviedb.org"
3 3
        name="The MovieDB common scraper functions"
4  
-       version="2.1.4"
  4
+       version="2.6.0"
5 5
        provider-name="Team XBMC">
6 6
   <requires>
7 7
     <import addon="xbmc.metadata" version="1.0"/>
BIN  addons/metadata.common.themoviedb.org/icon.png
208  addons/metadata.common.themoviedb.org/tmdb.xml
@@ -2,7 +2,7 @@
2 2
 
3 3
 	<GetTMDBCertificationsByIdChain dest="4">
4 4
 		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
5  
-			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCertifications&quot; cache=&quot;tmdb-cert-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1/releases?api_key=57983e31fb435df4df77afb854740ea9&lt;/url&gt;" dest="5">
  5
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBCertifications&quot; cache=&quot;tmdb-cert-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1/releases?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[tmdbcertcountry]&lt;/url&gt;" dest="5">
6 6
 				<expression />
7 7
 			</RegExp>
8 8
 			<expression noclean="1" />
@@ -10,30 +10,66 @@
10 10
 	</GetTMDBCertificationsByIdChain>
11 11
 	<ParseTMDBCertifications dest="5">
12 12
 		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
13  
-			<RegExp input="$$1" output="&lt;mpaa&gt;Rated \1&lt;/mpaa&gt;" dest="2">
14  
-				<expression fixchars="1">&quot;US&quot;,&quot;certification&quot;:&quot;([^&quot;]*)</expression>
  13
+			<RegExp input="$$1" output="&lt;mpaa&gt;$INFO[certprefix]\1&lt;/mpaa&gt;" dest="2">
  14
+				<expression fixchars="1">&quot;$INFO[tmdbcertcountry]&quot;,&quot;certification&quot;:&quot;([^&quot;]*)</expression>
15 15
 			</RegExp>
16 16
 			<expression noclean="1" />
17 17
 		</RegExp>
18 18
 	</ParseTMDBCertifications>
19 19
 
  20
+	<GetTMDBTitleByIdChain dest="4">
  21
+		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
  22
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTitle&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
  23
+				<expression />
  24
+			</RegExp>
  25
+			<expression noclean="1" />
  26
+		</RegExp>
  27
+	</GetTMDBTitleByIdChain>
  28
+	<GetTMDBLangTitleByIdChain dest="4">
  29
+		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
  30
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTitle&quot; cache=&quot;tmdb-$INFO[tmdbtitlelanguage]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[tmdbtitlelanguage]&lt;/url&gt;" dest="5">
  31
+				<expression />
  32
+			</RegExp>
  33
+			<expression noclean="1" />
  34
+		</RegExp>
  35
+	</GetTMDBLangTitleByIdChain>
  36
+	<ParseTMDBTitle dest="5">
  37
+		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
  38
+			<RegExp input="$$1" output="&lt;title&gt;\1&lt;/title&gt;" dest="2">
  39
+				<expression fixchars="1">&quot;title&quot;:&quot;([^&quot;]*)</expression>
  40
+			</RegExp>
  41
+			<expression noclean="1" />
  42
+		</RegExp>
  43
+	</ParseTMDBTitle>
  44
+
20 45
 	<GetTMDBPlotByIdChain clearbuffers="no" dest="4">
21 46
 		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
22 47
 			<RegExp input="$$1" output="\1" dest="8">
23 48
 				<expression clear="yes" noclean="1" />
24 49
 			</RegExp>
25  
-			<RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBPlot&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;language=$INFO[language]&lt;/url&gt;" dest="5">
  50
+			<RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBPlot&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
26 51
 				<expression />
27 52
 			</RegExp>
28 53
 			<expression noclean="1" />
29 54
 		</RegExp>
30 55
 	</GetTMDBPlotByIdChain>
  56
+	<GetTMDBLangPlotByIdChain clearbuffers="no" dest="4">
  57
+		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
  58
+			<RegExp input="$$1" output="\1" dest="8">
  59
+				<expression clear="yes" noclean="1" />
  60
+			</RegExp>
  61
+			<RegExp input="$$8" output="&lt;url function=&quot;ParseTMDBPlot&quot; cache=&quot;tmdb-$INFO[tmdbplotlanguage]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[tmdbplotlanguage]&lt;/url&gt;" dest="5">
  62
+				<expression />
  63
+			</RegExp>
  64
+			<expression noclean="1" />
  65
+		</RegExp>
  66
+	</GetTMDBLangPlotByIdChain>
31 67
 	<ParseTMDBPlot dest="5">
32 68
 		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
33 69
 			<RegExp input="$$1" output="\1" dest="9">
34 70
 				<expression clear="yes" fixchars="1">&quot;overview&quot;:&quot;(.*?)&quot;,&quot;</expression>
35 71
 			</RegExp>
36  
-			<RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBPlot&quot; cache=&quot;tmdb-en-$$8.json&quot;&gt;http://api.themoviedb.org/3/movie/$$8?api_key=57983e31fb435df4df77afb854740ea9&amp;language=en&lt;/url&gt;" dest="2">
  72
+			<RegExp input="$$9" output="&lt;url function=&quot;ParseFallbackTMDBPlot&quot; cache=&quot;tmdb-en-$$8.json&quot;&gt;http://api.themoviedb.org/3/movie/$$8?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=en&lt;/url&gt;" dest="2">
37 73
 				<expression>^$</expression>
38 74
 			</RegExp>
39 75
 			<RegExp input="$$9" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="2">
@@ -53,16 +89,24 @@
53 89
 
54 90
 	<GetTMDBSetByIdChain dest="4">
55 91
 		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
56  
-			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBSet&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;language=$INFO[language]&lt;/url&gt;" dest="5">
  92
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBSet&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
57 93
 				<expression />
58 94
 			</RegExp>
59 95
 			<expression noclean="1" />
60 96
 		</RegExp>
61 97
 	</GetTMDBSetByIdChain>
  98
+	<GetTMDBLangSetByIdChain dest="4">
  99
+		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
  100
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBSet&quot; cache=&quot;tmdb-$INFO[tmdbsetlanguage]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[tmdbsetlanguage]&lt;/url&gt;" dest="5">
  101
+				<expression />
  102
+			</RegExp>
  103
+			<expression noclean="1" />
  104
+		</RegExp>
  105
+	</GetTMDBLangSetByIdChain>
62 106
 	<ParseTMDBSet dest="5">
63 107
 		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
64 108
 			<RegExp input="$$1" output="&lt;set&gt;\1&lt;/set&gt;" dest="2">
65  
-				<expression noclean="1">&quot;belongs_to_collection&quot;:{&quot;id&quot;:[0-9]+,&quot;name&quot;:&quot;([^&quot;]*)</expression>
  109
+				<expression noclean="1">&quot;belongs_to_collection&quot;:\{&quot;id&quot;:[0-9]+,&quot;name&quot;:&quot;([^&quot;]*)</expression>
66 110
 			</RegExp>
67 111
 			<expression noclean="1" />
68 112
 		</RegExp>
@@ -85,7 +129,7 @@
85 129
 				<expression repeat="yes" fixchars="1">&quot;name&quot;:&quot;([^&quot;]*)&quot;,&quot;character&quot;:&quot;([^&quot;]*)</expression>
86 130
 			</RegExp>
87 131
 			<RegExp input="$$7" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;role&gt;\2&lt;/role&gt;&lt;thumb&gt;http://cf2.imgobject.com/t/p/original\3&lt;/thumb&gt;&lt;/actor&gt;" dest="2+">
88  
-				<expression repeat="yes" fixchars="1">&quot;name&quot;:&quot;([^&quot;]*)&quot;,&quot;character&quot;:&quot;([^&quot;]*)&quot;,&quot;order&quot;:[0-9]*,&quot;profile_path&quot;:&quot;([^&quot;]*)&quot;</expression>
  132
+				<expression repeat="yes" fixchars="1">&quot;name&quot;:&quot;([^&quot;]*)&quot;,&quot;character&quot;:&quot;([^&quot;]*)&quot;,&quot;order&quot;:[0-9]*,&quot;cast_id&quot;:[0-9]*,&quot;profile_path&quot;:&quot;([^&quot;]*)&quot;</expression>
89 133
 			</RegExp>
90 134
 			<expression noclean="1" />
91 135
 		</RegExp>
@@ -133,12 +177,20 @@
133 177
 
134 178
 	<GetTMDBGenresByIdChain dest="4">
135 179
 		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
136  
-			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBGenres&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;language=$INFO[language]&lt;/url&gt;" dest="5">
  180
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBGenres&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
137 181
 				<expression />
138 182
 			</RegExp>
139 183
 			<expression noclean="1" />
140 184
 		</RegExp>
141 185
 	</GetTMDBGenresByIdChain>
  186
+	<GetTMDBLangGenresByIdChain dest="4">
  187
+		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
  188
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBGenres&quot; cache=&quot;tmdb-$INFO[tmdbgenreslanguage]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[tmdbgenreslanguage]&lt;/url&gt;" dest="5">
  189
+				<expression />
  190
+			</RegExp>
  191
+			<expression noclean="1" />
  192
+		</RegExp>
  193
+	</GetTMDBLangGenresByIdChain>
142 194
 	<ParseTMDBGenres dest="5">
143 195
 		<RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
144 196
 			<RegExp input="$$1" output="\1" dest="7">
@@ -153,7 +205,7 @@
153 205
 
154 206
 	<GetTMDBRatingByIdChain dest="4">
155 207
 		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
156  
-			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBRating&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;language=$INFO[language]&lt;/url&gt;" dest="5">
  208
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBRating&quot; cache=&quot;tmdb-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
157 209
 				<expression />
158 210
 			</RegExp>
159 211
 			<expression noclean="1" />
@@ -173,23 +225,71 @@
173 225
 
174 226
 	<GetTMDBTrailerByIdChain dest="4">
175 227
 		<RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="4">
176  
-			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTrailer&quot; cache=&quot;tmdb-trailer-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1/trailers?api_key=57983e31fb435df4df77afb854740ea9&lt;/url&gt;" dest="5">
  228
+			<RegExp input="$$1" output="&lt;url function=&quot;ParseTMDBTrailer&quot; cache=&quot;tmdb-trailer-$INFO[language]-\1.json&quot;&gt;http://api.themoviedb.org/3/movie/\1/trailers?api_key=57983e31fb435df4df77afb854740ea9&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="5">
177 229
 				<expression />
178 230
 			</RegExp>
179 231
 			<expression noclean="1" />
180 232
 		</RegExp>
181 233
 	</GetTMDBTrailerByIdChain>
  234
+	<GetTMDBLangTrailerByIdChain dest="4">