sync with git
authornadasb <nadasb@svn>
Sat, 23 Oct 2010 07:12:38 +0000 (07:12 +0000)
committernadasb <nadasb@svn>
Sat, 23 Oct 2010 07:12:38 +0000 (07:12 +0000)
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@34959 568bbfeb-2a22-0410-94d2-cc84cf5bfa90

addons/metadata.albums.allmusic.com/addon.xml
addons/metadata.albums.allmusic.com/allmusic.xml
addons/metadata.albums.allmusic.com/resources/settings.xml
addons/metadata.artists.allmusic.com/addon.xml
addons/metadata.artists.allmusic.com/allmusic.xml
addons/metadata.common.allmusic.com/addon.xml
addons/metadata.common.allmusic.com/allmusic.xml

index ce18a66..abc705a 100644 (file)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="metadata.albums.allmusic.com"
        name="AllMusic"
-       version="1.0.10"
+       version="1.8.1"
        provider-name="Team XBMC">
   <requires>
     <import addon="xbmc.metadata" version="1.0"/>
     <import addon="metadata.common.last.fm" version="1.0"/>
-    <import addon="metadata.common.allmusic.com" version="1.0.3"/>
+    <import addon="metadata.common.allmusic.com" version="1.8.1"/>
     <import addon="metadata.common.htbackdrops.com" version="1.0.7"/>
   </requires>
   <extension point="xbmc.metadata.scraper.albums"
@@ -18,6 +18,7 @@
     <summary lang="es">Scraper de Álbums de AllMusic</summary>
     <summary lang="fr">Scraper d'albums musicaux AllMusic</summary>
     <summary lang="hu">AllMusic.com album információk</summary>
+    <summary lang="nl">AllMusic-albuminfo</summary>
     <summary lang="pl">Informacje o albumach z AllMusic</summary>
     <summary lang="pt">Scraper de músicas AllMusic</summary>
     <summary lang="ru">Информация об альбоме из AllMusic</summary>
@@ -41,10 +42,10 @@ Tous les styles et tous les genres y sont représentés, allant du plus commerci
     <description lang="hu">Az AllMusic.com használata a médiatáradatok feltöltésére. Ez a webhely 1995-ben a zenerajongók szenvedélyének kiszolgálására jött létre.
 Az AMG szerkesztői csapata a szakértő közreműködőkkel együtt (mind zenei fanatikus a maga nemében), az allmusic-ot a legátfogóbb zenei információforrássá tették a világon.
 Minden létező stílus és zenei irányzat feldolgozásra kerül itt. Kezdve a legpopulárisabbtól a legismeretlenebbig. Mi kritikát mondunk a lemezekről és előadókról, az operától a garázs rock-on át a hagyományos country zenéig. Ez biztosítja, hogy bármely stílus rajongói napra készek legyenek a kedvenc előadóikkal, ugyanakkor az új hangzások is eljussanak hozzájuk.</description>
-    <description lang="nl">Gebruik AllMusic.com om de metadata van jouw collectie op te halen.
-  De AllMusic website is ontstaan in 1995 als webstek voor echte muziekfans.
-The AMG redactie, samen met honderden bijdragende experen (allen muziekfans in hun eigen gebied), hebben van allmusic het meest complete muziek naslagwerk gemaakt op deze planeet.
-Alle genres en stijlen worden gedekt, gaande van de meest commerciele tot de meest alternatieve. We bekritiseren albums en artiesten in hun eigen genre, van opera tot garagerock tot traditionele country. Dit maakt dat fans van elke muziekstijl bij ons terecht kunnen voor de laatste informatie rond hun favoriete artiesten of om nieuwe muziek te leren ontdekken.</description>
+    <description lang="nl">AllMusic.com gebruiken om de metadata van uw collectie op te halen.
+De AllMusic-website werd in 1995 opgericht om muziekfans een online thuis te bieden.
+De AMG-redactie heeft van AllMusic het meest complete muzieknaslagwerk gemaakt op deze planeet, mede dankzij de bijdragen van honderden experts. Het is hun missie om de hoogstaande inhoud te blijven aanbieden die muziekliefhebbers en professionals ondertussen van AMG verwachten.
+Alle genres en stijlen - of het nu de meest commerciële of de meest obscure zijn - krijgen hier een plaatsje. We bespreken albums en artiesten in de context van hun eigen genre, van opera over garagerock tot traditionele country. Hierdoor kunnen fans van elke muziekstijl bij ons terecht voor de laatste informatie over hun favoriete artiesten, of om nieuwe muziek te leren ontdekken.</description>
     <description lang="pl">Używa AllMusic.com do pobierania informacji o albumach z Twojej muzycznej biblioteki.</description>
     <description lang="pt">Use o AllMusic.com para obter a informação da sua Biblioteca de música. O site allmusic foi criado em 1995 para alimentar a paixão dos fans de música.
 O pessoal da redacção da AMG, em conjunto com centenas de especialistas (todos fanáticos por música à sua maneira), tornaram o allmusic o mais completo site de referência musical do planeta. Continuam dedicados a criar e manter o conhecimento, espírito e conteúdos que fans de música e profissionais da indústria se habituaram a obter da AMG.
index 7a64a15..03f7470 100644 (file)
@@ -1,25 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<scraper framework="1.1" date="2009-09-30">
+<scraper framework="1.1" date="2010-10-16">
        <NfoUrl dest="3">
                <RegExp input="$$1" output="&lt;url&gt;http://www.\1&lt;/url&gt;" dest="3">
                        <expression>(allmusic.com/cg/.*)</expression>
                </RegExp>
        </NfoUrl>
        <CreateAlbumSearchUrl dest="3">
-               <RegExp input="$$1" output="&lt;url post=&quot;yes&quot;&gt;http://www.allmusic.com/cg/amg.dll?P=amg&amp;amp;SQL=\1&amp;amp;OPT1=2&lt;/url&gt;" dest="3">
-                       <expression/>
+               <RegExp input="$$1" output="&lt;url&gt;http://www.allmusic.com/search/album/\1&lt;/url&gt;" dest="3">
+                       <expression />
                </RegExp>
        </CreateAlbumSearchUrl>
        <GetAlbumSearchResults dest="8">
                <RegExp input="$$5" output="&lt;results&gt;\1&lt;/results&gt;" dest="8">
-                       <RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\1&lt;/title&gt;&lt;/entity&gt;" dest="5">
-                               <expression repeat="yes" noclean="1">&lt;TITLE&gt;allmusic[ (]+ ([^&gt;]*) &gt; Overview</expression>
+                       <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\4&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;am-\3-\2-album.html&quot;&gt;http://www.allmusic.com/album/\1/review&lt;/url&gt;&lt;/entity&gt;" dest="5">
+                               <expression repeat="yes" noclean="1,2,3">&lt;td class=&quot;text-center&quot;&gt;[^&lt;]*&lt;a href.*?www.allmusic.com/album/([^&quot;]*)&quot;&gt;([^&lt;]*).*?&lt;td&gt;([^&lt;]*)&lt;/td&gt;.*?&lt;td&gt;.*?&lt;td&gt;([^&lt;]*)</expression>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\1&lt;/year&gt;&lt;artist&gt;\2&lt;/artist&gt;&lt;title&gt;\4&lt;/title&gt;&lt;url cache=&quot;am-\2-\4-album.html&quot;&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;SQL=\3&lt;/url&gt;&lt;/entity&gt;" dest="5+">
-                               <expression repeat="yes" noclean="1,2,3">&gt;([0-9]+)?[^&gt;]*&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/TD&gt;&lt;td class="cell-img.*?sql=([0-9:a-z]*)"&gt;(.*?)&lt;.</expression>
-                       </RegExp>
-                       <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\1&lt;/year&gt;&lt;artist&gt;\2&lt;/artist&gt;&lt;title&gt;\4&lt;/title&gt;&lt;url cache=&quot;am-\2-\4-album.html&quot;&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;SQL=\3&lt;/url&gt;&lt;/entity&gt;" dest="5+">
-                               <expression repeat="yes" noclean="1,2,3">&gt;([0-9]+)?&lt;/.*?&gt;([a-zA-Z0-9].*?)&lt;.*?sql=([0-9:a-z]*)"&gt;(.*?)&lt;.</expression>
+                       <RegExp input="$$1" output="&lt;entity&gt;&lt;year&gt;\4&lt;/year&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;am-\3-\2-album.html&quot;&gt;http://www.allmusic.com/album/\1/review&lt;/url&gt;&lt;/entity&gt;" dest="5+">
+                               <expression repeat="yes" noclean="1,2,3">&lt;td class=&quot;text-center&quot;&gt;[^&lt;]*&lt;/td&gt;.*?www.allmusic.com/album/([^&quot;]*)&quot;&gt;([^&lt;]*).*?&lt;td&gt;([^&lt;]*)&lt;/td&gt;.*?&lt;td&gt;.*?&lt;td&gt;([^&lt;]*)</expression>
                        </RegExp>
                        <expression noclean="1" />
                </RegExp>
        <GetAlbumDetails dest="3">
                <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="3">
                        <RegExp input="$$1" output="\1" dest="2">
-                               <expression noclean="1">&lt;TITLE&gt;allmusic[ (]+ ([^&gt;]*) &gt; Overview</expression>
+                               <expression noclean="1">&lt;h1 class=&quot;title&quot;&gt;([^&lt;]*)&lt;/h1&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="3">
-                               <expression noclean="1">&lt;span&gt;Artist&lt;/span&gt;[^;]*[^&gt;]*&gt;[^&gt;]*&gt;([^&lt;]*)</expression>
+                               <expression noclean="1">allmusic.com/artist/[^&quot;]*&quot;&gt;([^&lt;]*)&lt;/a&gt;&lt;/div&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$3-$$2-album.html&quot; function=&quot;ParseAMGAlbum&quot;&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=\1&lt;/url&gt;" dest="5+">
-                               <expression noclean="1">sql=([^&quot;]*)&quot;&gt;Overview</expression>
+                       <RegExp conditional="lastfmalbumthumbs" input="$$1" output="&lt;chain function=&quot;GetLastFMAlbumThumbs&quot;&gt;\1::\2&lt;/chain&gt;" dest="5+">
+                               <expression trim="1,2" encode="1,2">&lt;meta name=&quot;title&quot; content=&quot;([^-]*)- ([^&lt;]*)&quot; /&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$3-$$2-album.html&quot; function=&quot;GetAMGReview&quot;&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=\1&lt;/url&gt;" dest="5+">
-                               <expression noclean="1">sql=([^&quot;]*)&quot;&gt;Review</expression>
+                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$3-$$2-album.html&quot; function=&quot;ParseAMGAlbum&quot;&gt;http://www.allmusic.com/album/\1/review&lt;/url&gt;" dest="5+">
+                               <expression noclean="1">allmusic.com/artist/([^&quot;]*)&quot;&gt;[^&lt;]*&lt;/a&gt;&lt;/div&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$1" conditional="lastfmalbumthumbs" output="&lt;chain function=&quot;GetLastFMAlbumThumbs&quot;&gt;\1::\2&lt;/chain&gt;" dest="5+">
-                               <expression trim="1,2" encode="1,2">&lt;span class=&quot;title&quot;&gt;[ ]*([^&lt;]*)&lt;/span&gt;.*&lt;a href=&quot;[^&quot;]+&quot; class=&quot;subtitle&quot;&gt;[ ]*([^&lt;]*)&lt;/a&gt;</expression>
+                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$3-$$2-album.html&quot; function=&quot;GetAMGReview&quot;&gt;http://www.allmusic.com/album/\1/review&lt;/url&gt;" dest="5+">
+                               <expression noclean="1">allmusic.com/artist/([^&quot;]*)&quot;&gt;[^&lt;]*&lt;/a&gt;&lt;/div&gt;</expression>
                        </RegExp>
-                       <expression noclean="1"/>
+                       <expression noclean="1" />
                </RegExp>
        </GetAlbumDetails>
 </scraper>
index 89eb227..3071c6d 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <settings>
     <setting label="30000" type="bool" id="allmusicalbumthumbs" default="true"/>
-    <setting label="30001" type="bool" id="lastfmalbumthumbs" default="false"/>
+    <setting label="30001" type="bool" id="lastfmalbumthumbs" default="true"/>
 </settings>
index 4f06641..9071ce1 100644 (file)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="metadata.artists.allmusic.com"
        name="AllMusic"
-       version="1.0.8"
+       version="1.8.1"
        provider-name="Team XBMC">
   <requires>
     <import addon="xbmc.metadata" version="1.0"/>
     <import addon="metadata.common.last.fm" version="1.0"/>
-    <import addon="metadata.common.allmusic.com" version="1.0"/>
+    <import addon="metadata.common.allmusic.com" version="1.8.1"/>
     <import addon="metadata.common.htbackdrops.com" version="1.0.7"/>
   </requires>
   <extension point="xbmc.metadata.scraper.artists"
@@ -18,6 +18,7 @@
     <summary lang="es">Descarga información de Artistas de AllMusic</summary>
     <summary lang="fr">Scraper d'artistes musicaux AllMusic</summary>
     <summary lang="hu">AllMusic előadó információk</summary>
+    <summary lang="nl">AllMusic-artiestinfo</summary>
     <summary lang="pl">Informacje o artystach AllMusic</summary>
     <summary lang="pt">Scraper de músicas AllMusic</summary>
     <summary lang="ru">Информация об исполнителе из AllMusic</summary>
@@ -41,10 +42,10 @@ Tous les styles et tous les genres y sont représentés, allant du plus commerci
     <description lang="hu">Az AllMusic.com használata a médiatáradatok feltöltésére. Ez a webhely 1995-ben a zenerajongók szenvedélyének kiszolgálására jött létre.
 Az AMG szerkesztői csapata a szakértő közreműködőkkel együtt (mind zenei fanatikus a maga nemében), az allmusic-ot a legátfogóbb zenei információforrássá tették a világon.
 Minden létező stílus és zenei irányzat feldolgozásra kerül itt. Kezdve a legpopulárisabbtól a legismeretlenebbig. Mi kritikát mondunk a lemezekről és előadókról, az operától a garázs rock-on át a hagyományos country zenéig. Ez biztosítja, hogy bármely stílus rajongói napra készek legyenek a kedvenc előadóikkal, ugyanakkor az új hangzások is eljussanak hozzájuk.</description>
-    <description lang="nl">Gebruik AllMusic.com om de metadata van jouw collectie op te halen.
-  De AllMusic website is ontstaan in 1995 als webstek voor echte muziekfans.
-The AMG redactie, samen met honderden bijdragende experen (allen muziekfans in hun eigen gebied), hebben van allmusic het meest complete muziek naslagwerk gemaakt op deze planeet.
-Alle genres en stijlen worden gedekt, gaande van de meest commerciele tot de meest alternatieve. We bekritiseren albums en artiesten in hun eigen genre, van opera tot garagerock tot traditionele country. Dit maakt dat fans van elke muziekstijl bij ons terecht kunnen voor de laatste informatie rond hun favoriete artiesten of om nieuwe muziek te leren ontdekken.</description>
+    <description lang="nl">AllMusic.com gebruiken om de metadata van uw collectie op te halen.
+De AllMusic-website werd in 1995 opgericht om muziekfans een online thuis te bieden.
+De AMG-redactie heeft van AllMusic het meest complete muzieknaslagwerk gemaakt op deze planeet, mede dankzij de bijdragen van honderden experts. Het is hun missie om de hoogstaande inhoud te blijven aanbieden die muziekliefhebbers en professionals ondertussen van AMG verwachten.
+Alle genres en stijlen - of het nu de meest commerciële of de meest obscure zijn - krijgen hier een plaatsje. We bespreken albums en artiesten in de context van hun eigen genre, van opera over garagerock tot traditionele country. Hierdoor kunnen fans van elke muziekstijl bij ons terecht voor de laatste informatie over hun favoriete artiesten, of om nieuwe muziek te leren ontdekken.</description>
     <description lang="pl">Używa AllMusic.com do pobierania informacji o zawartości Twojej muzycznej biblioteki.</description>
     <description lang="pt">Use o AllMusic.com para obter a informação da sua Biblioteca de música. O site allmusic foi criado em 1995 para alimentar a paixão dos fans de música.
 O pessoal da redacção da AMG, em conjunto com centenas de especialistas (todos fanáticos por música à sua maneira), tornaram o allmusic o mais completo site de referência musical do planeta. Continuam dedicados a criar e manter o conhecimento, espírito e conteúdos que fans de música e profissionais da indústria se habituaram a obter da AMG.
index 4ad7674..4de03cb 100644 (file)
@@ -1,33 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<scraper framework="1.1" date="2009-09-30">
+<scraper framework="1.1" date="2010-10-16">
        <NfoUrl dest="3">
                <RegExp input="$$1" output="&lt;url&gt;http://www.\1&lt;/url&gt;" dest="3">
                        <expression>(allmusic.com/cg/.*)</expression>
                </RegExp>
        </NfoUrl>
        <CreateArtistSearchUrl dest="3">
-               <RegExp input="$$1" output="&lt;url post=&quot;yes&quot;&gt;http://www.allmusic.com/cg/amg.dll?P=amg&amp;amp;SQL=\1&amp;amp;OPT1=1&lt;/url&gt;" dest="3">
+               <RegExp input="$$1" output="&lt;url&gt;http://www.allmusic.com/search/artist/\1&lt;/url&gt;" dest="3">
                        <expression/>
                </RegExp>
        </CreateArtistSearchUrl>
        <GetArtistSearchResults dest="8">
                <RegExp input="$$5" output="&lt;results&gt;\1&lt;/results&gt;" dest="8">
-                       <RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\1&lt;/title&gt;&lt;/entity&gt;" dest="5">
-                               <expression repeat="yes" noclean="1">&lt;TITLE&gt;allmusic[ (]+ ([^&gt;]*) &gt; Overview</expression>
+                       <RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\1&lt;/title&gt;&lt;url cache=&quot;am-$$2-artist.html&quot;&gt;http://www.allmusic.com/artist/\2&lt;/url&gt;&lt;/entity&gt;" dest="5">
+                               <expression repeat="yes" noclean="1">&lt;meta name=&quot;title&quot; content=&quot;([^&quot;]*)&quot;.*?&lt;a href="http://www.allmusic.com/artist/([^/]*)/discography&quot;</expression>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\2&lt;/title&gt;&lt;genre&gt;\3&lt;/genre&gt;&lt;year&gt;\5&lt;/year&gt;&lt;url&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;SQL=\1&lt;/url&gt;&lt;/entity&gt;" dest="5+">
-                               <expression repeat="yes" noclean="1,2">style=&quot;[^=]*&lt;a href=&quot;[^&quot;]*sql=([^&quot;]*)&quot;&gt;([^&lt;]*)&lt;/a&gt;[^-]*[^&gt;]*&gt;([^&lt;]*)&lt;/TD&gt;[^&gt;]*&gt;(&amp;nbsp;)?([^&lt;]*)&lt;/td&gt;</expression>
+                       <RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\2&lt;/title&gt;&lt;genre&gt;\3&lt;/genre&gt;&lt;year&gt;\4&lt;/year&gt;&lt;url cache=&quot;am-$$2-artist.html&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/entity&gt;" dest="5+">
+                               <expression repeat="yes" noclean="1,2">&lt;td&gt;&lt;a href=&quot;http://www.allmusic.com/artist/([^&quot;]*)&quot;&gt;([^&lt;]*)&lt;/a&gt;&lt;/td&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/td&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/td&gt;</expression>
                        </RegExp>
                        <expression noclean="1"/>
-               </RegExp>               
+               </RegExp>
        </GetArtistSearchResults>
        <GetArtistDetails dest="3">
                <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="3">
                        <RegExp input="$$2" conditional="htbthumbs" output="&lt;chain function=&quot;GetHTBThumbs&quot;&gt;\1&lt;/chain&gt;" dest="5">
                                <expression/>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$2-artist.html&quot; function=&quot;ParseAMGArtist&quot;&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=\1&lt;/url&gt;" dest="5+">
-                               <expression noclean="1">sql=([^&quot;]*)&quot;&gt;Biography</expression>
+                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$2-artist.html&quot; function=&quot;ParseAMGArtist&quot;&gt;http://www.allmusic.com/artist/\1&lt;/url&gt;" dest="5+">
+                               <expression>http://www.allmusic.com/artist/([^&amp;&quot;/]*)</expression>
                        </RegExp>
                        <RegExp input="$$2" conditional="lastfmartistthumbs" output="&lt;chain function=&quot;GetLastFMArtistThumbs&quot;&gt;\1&lt;/chain&gt;" dest="5+">
                                <expression/>
                        <RegExp input="$$2" conditional="htbfanart" output="&lt;chain function=&quot;GetHTBFanart&quot;&gt;\1&lt;/chain&gt;" dest="5+">
                                <expression/>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$2-artist.html&quot; function=&quot;GetAMGBiography&quot;&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=\1&lt;/url&gt;" dest="5+">
-                               <expression noclean="1">sql=([^&quot;]*)&quot;&gt;Biography</expression>
+                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$2-biog.html&quot; function=&quot;GetAMGBiography&quot;&gt;http://www.allmusic.com/artist/\1/biography&lt;/url&gt;" dest="5+">
+                               <expression>&lt;a href=&quot;http://www.allmusic.com/artist/([^/]*)/biography"</expression>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$2-discog.html&quot; function=&quot;GetAMGDiscography&quot;&gt;http://www.allmusic.com/cg/amg.dll?p=amg&amp;amp;sql=\1&lt;/url&gt;" dest="5+">
-                               <expression noclean="1">sql=([^&quot;]*)&quot;&gt;Discography</expression>
+                       <RegExp input="$$1" output="&lt;url cache=&quot;am-$$2-discog.html&quot; function=&quot;GetAMGDiscography&quot;&gt;http://www.allmusic.com/artist/\1/discography&lt;/url&gt;" dest="5+">
+                               <expression>&lt;a href=&quot;http://www.allmusic.com/artist/([^/]*)/discography"</expression>
                        </RegExp>
                        <expression noclean="1"/>
                </RegExp>
index a2dc608..427f5fa 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="metadata.common.allmusic.com"
        name="AllMusic"
-       version="1.0.3"
+       version="1.8.1"
        provider-name="Team XBMC">
   <requires>
     <import addon="xbmc.metadata" version="1.0"/>
index a0484f7..adea10a 100644 (file)
@@ -1,8 +1,8 @@
 <scraperfunctions>
        <GetAMGDiscography dest="5">
                <RegExp input="$$2$$3" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
-                       <RegExp input="$$1" output="&lt;album&gt;&lt;year&gt;\1&lt;/year&gt;&lt;title&gt;\3&lt;/title&gt;&lt;label&gt;\5&lt;/label&gt;&lt;/album&gt;" dest="2">
-                               <expression repeat="yes" clear="yes" noclean="1,3,4">sorted-cell"&gt;([0-9]+)&lt;/td&gt;&lt;td[^&gt;]*&gt;(&lt;a href=[^&gt;]*&gt;&lt;img [^&gt;]*/&gt;&lt;/a&gt;|[^&lt;]*)?&lt;/td&gt;&lt;td[^&gt;]*&gt;&lt;a href=[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/td&gt;&lt;td[^&lt;]*[^&gt;]*&gt;[^&gt;]*&gt;(&lt;/a&gt;&lt;/td&gt;&lt;td[^&gt;]*&gt;)?([^&lt;]+)&lt;/td&gt;</expression>
+                       <RegExp input="$$1" output="&lt;album&gt;&lt;year&gt;\1&lt;/year&gt;&lt;title&gt;\2&lt;/title&gt;&lt;label&gt;\3&lt;/label&gt;&lt;/album&gt;" dest="2">
+                               <expression repeat="yes" clear="yes" noclean="1,3,4">&lt;td class=&quot;sorted cell&quot;&gt;([^&lt;]*)&lt;/td&gt;.*?&lt;td class=&quot;cell&quot;&gt;&lt;a href=&quot;[^&gt;]*&gt;([^&lt;]*)&lt;.*?&lt;td class=&quot;cell&quot;&gt;([^&lt;]*)&lt;</expression>
                        </RegExp>
                        <RegExp input="$$2" output="\1&amp;amp;\2" dest="3">
                                <expression repeat="yes" noclean="1,2">(.*?)&amp;(.+)</expression>
@@ -16,7 +16,7 @@
        <GetAMGBiography dest="5">
                <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
                        <RegExp input="$$1" output="&lt;biography&gt;\1&lt;/biography&gt;" dest="2">
-                               <expression clear="yes">Biography&lt;/td&gt;.*?&lt;p&gt;(.*?)&lt;/p&gt;</expression>
+                               <expression clear="yes">Biography&lt;/h2&gt;.*?&lt;/p&gt;(.*?)&lt;/p&gt;</expression>
                        </RegExp>
                        <expression noclean="1"/>
                </RegExp>
        <GetAMGReview 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>Review&lt;/td&gt;.*?&lt;p&gt;(.*?)&lt;/p&gt;</expression>
+                               <expression>&lt;h2 class=&quot;title&quot;&gt;Review&lt;/h2&gt;.*?&lt;/p&gt;(.*?)&lt;/p&gt;</expression>
                        </RegExp>
-                       <expression noclean="1"/>
+                       <expression noclean="1" />
                </RegExp>
        </GetAMGReview>
        <ParseAMGArtist dest="3">
                <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="3">
                        <RegExp input="$$1" output="&lt;name&gt;\1&lt;/name&gt;" dest="5">
-                               <expression noclean="1">&lt;TITLE&gt;allmusic[ (]+ ([^&gt;]*) &gt; Overview</expression>
+                               <expression noclean="1">&lt;meta name=&quot;title&quot; content=&quot;([^&quot;]*)</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;born&gt;\1&lt;/born&gt;" dest="5+">
-                               <expression>&lt;span&gt;Born.*?;&quot;&gt;(.*?)&lt;/td&gt;</expression>
+                               <expression>&lt;h3&gt;Born[^&gt;]*&gt;[^&gt;]*&gt;(.*?)&lt;/p&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;died&gt;\1&lt;/died&gt;" dest="5+">
-                               <expression>&lt;span&gt;Died.*?;&quot;&gt;(.*?)&lt;/td&gt;</expression>
+                               <expression>&lt;h3&gt;Died[^&gt;]*&gt;[^&gt;]*&gt;(.*?)&lt;/p&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="5+">
-                               <expression>&lt;span&gt;Formed.*?;&quot;&gt;(.*?)&lt;/td&gt;</expression>
+                               <expression>&lt;h3&gt;Formed[^&gt;]*&gt;[^&gt;]*&gt;(.*?)&lt;/p&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="5+">
-                               <expression>&lt;span&gt;Disbanded.*?;&quot;&gt;(.*?)&lt;/td&gt;</expression>
+                               <expression>&lt;h3&gt;Disbanded[^&gt;]*&gt;[^&gt;]*&gt;(.*?)&lt;/p&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="6">
-                               <expression noclean="1">Years Active--&gt;([^!]*)&lt;!--Years Active</expression>
+                               <expression noclean="1">&lt;h3&gt;Years Active&lt;/h3&gt;(.*?)&lt;/p&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$6" output="\1&apos;s/" dest="7+">
-                               <expression repeat="yes">&lt;div class=&quot;timeline-sub-active&quot;&gt;([0-9]+)&lt;/div&gt;</expression>
+                       <RegExp input="$$6" output="\1's/" dest="7+">
+                               <expression repeat="yes">&lt;span class=&quot;active&quot;&gt;([0-9]+)&lt;/span&gt;</expression>
                        </RegExp>
                        <RegExp input="$$7" output="&lt;yearsactive&gt;\1&lt;/yearsactive&gt;" dest="5+">
                                <expression noclean="1">(.+)/</expression>
-                       </RegExp>                       
+                       </RegExp>
                        <RegExp input="$$1" output="\1" dest="6">
-                               <expression noclean="1">Genre Listing--&gt;([^!]*)&lt;!--Genre Listing</expression>
+                               <expression noclean="1">&lt;h3&gt;Genres&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+                       <RegExp input="$$6" output="&lt;genre&gt;\2&lt;/genre&gt;" dest="5+">
+                               <expression repeat="yes" noclean="1">&lt;a href=&quot;/explore/genre/[^&gt;]*&gt;(&lt;strong&gt;)?([^&lt;]*)</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="7">
-                               <expression noclean="1">Style Listing--&gt;([^!]*)&lt;!--Style Listing</expression>
+                               <expression noclean="1">&lt;h3&gt;Styles&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
                        <RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+                               <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="8">
-                               <expression noclean="1">Moods Listing--&gt;([^!]*)&lt;!--Moods Listing</expression>
+                               <expression noclean="1">&lt;h3&gt;Moods&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
                        <RegExp input="$$8" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+                               <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="9">
-                               <expression noclean="1">Instruments Listing--&gt;([^!]*)&lt;!--Instruments Listing</expression>
+                               <expression noclean="1">&lt;h3&gt;Instruments&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
                        <RegExp input="$$9" output="&lt;instruments&gt;\1&lt;/instruments&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
-                       </RegExp>
-                       <RegExp input="$$1" conditional="allmusicartistthumbs" output="&lt;thumb&gt;\1&lt;/thumb&gt;" dest="5+">
-                               <expression noclean="1">&lt;img src=&quot;([^&quot;]*)&quot; id=&quot;Picture&quot;</expression>
+                               <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$1" conditional="allmusicartistthumbs" output="&lt;thumb&gt;http://image.allmusic.com/00/amg/pic200/dr\1\200/\1\2\3\4/\1\2\3\4\5.jpg&lt;/thumb&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&quot;([A-Z^])([0-9^])([0-9^])([0-9^])([^&quot;]*)&quot;</expression>
+                       <RegExp conditional="allmusicartistthumbs" input="$$1" output="&lt;thumb&gt;\1&lt;/thumb&gt;" dest="5+">
+                               <expression noclean="1">&lt;img id=&quot;artist_image&quot; src=&quot;([^&quot;]*)&quot;</expression>
                        </RegExp>
-                       <expression noclean="1"/>
+                       <expression noclean="1" />
                </RegExp>
        </ParseAMGArtist>
        <ParseAMGAlbum dest="3">
                <RegExp input="$$5" output="&lt;details&gt;\1&lt;/details&gt;" dest="3">
                        <RegExp input="$$1" output="&lt;title&gt;\1&lt;/title&gt;" dest="5">
-                               <expression noclean="1">&lt;TITLE&gt;allmusic[ (]+ ([^&gt;]*) &gt; Overview</expression>
+                               <expression trim="1" noclean="1">&lt;meta name=&quot;title&quot; content=&quot;([^-]*)-[^&lt;]*&quot; /&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;artist&gt;\1&lt;/artist&gt;" dest="5+">
-                               <expression noclean="1">&lt;span&gt;Artist&lt;/span&gt;[^;]*[^&gt;]*&gt;[^&gt;]*&gt;([^&lt;]*)</expression>
+                               <expression noclean="1">&lt;meta name=&quot;title&quot; content=&quot;[^-]*- ([^&lt;]*)&quot; /&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="5+">
-                               <expression noclean="1">&lt;span&gt;Rating&lt;/span&gt;[^_]*_r([0-9^]*)</expression>
+                               <expression noclean="1">&lt;h3&gt;Rating&lt;/h3&gt;[^_]*_r([0-9^]*)</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;label&gt;\1&lt;/label&gt;" dest="5+">
-                               <expression noclean="1">&lt;span&gt;Label&lt;/span&gt;[^;]*[^&gt;]*&gt;([^&lt;]*)</expression>
+                               <expression noclean="1">&lt;h3&gt;Label&lt;/h3&gt;[^&gt;]*&gt;([^&lt;]*)</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;type&gt;\1&lt;/type&gt;" dest="5+">
-                               <expression noclean="1">&lt;span&gt;Type&lt;/span&gt;[^;]*[^&gt;]*&gt;([^&lt;]*)</expression>
+                               <expression noclean="1">&lt;h3&gt;Type&lt;/h3&gt;[^&gt;]*&gt;([^&lt;]*)</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;releasedate&gt;\1&lt;/releasedate&gt;" dest="5+">
-                               <expression noclean="1">&lt;span&gt;Release Date&lt;/span&gt;[^;]*[^&gt;]*&gt;([^&lt;]*)</expression>
+                               <expression noclean="1">&lt;h3&gt;Release Date&lt;/h3&gt;[^&gt;]*&gt;([^&lt;]*)</expression>
                        </RegExp>
                        <RegExp input="$$1" output="&lt;year&gt;\1&lt;/year&gt;" dest="5+">
                                <expression noclean="1">&lt;span&gt;Release Date.*?([0-9]+)&lt;/</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="6">
-                               <expression noclean="1">Genre[s]* Listing--&gt;([^!]*)&lt;!--Genre[s]* Listing</expression>
+                               <expression noclean="1">&lt;h3&gt;Genre[s]?&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
                        <RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+                               <expression repeat="yes" trim="1" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="7">
-                               <expression noclean="1">Style[s]* Listing--&gt;([^!]*)&lt;!--Style[s]* Listing</expression>
+                               <expression noclean="1">&lt;h3&gt;Style[s]?&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
                        <RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+                               <expression repeat="yes" trim="1" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="8">
-                               <expression noclean="1">Mood[s]* Listing--&gt;([^!]*)&lt;!--Mood[s]* Listing</expression>
+                               <expression trim="1" noclean="1">&lt;h3&gt;Mood[s]?&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
                        <RegExp input="$$8" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+                               <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
                        </RegExp>
                        <RegExp input="$$1" output="\1" dest="9">
-                               <expression noclean="1">Theme[s]* Listing--&gt;([^!]*)&lt;!--Theme[s]* Listing</expression>
+                               <expression noclean="1">&lt;h3&gt;Theme[s]?&lt;/h3&gt;(.*?)&lt;/div&gt;</expression>
                        </RegExp>
                        <RegExp input="$$9" output="&lt;theme&gt;\1&lt;/theme&gt;" dest="5+">
-                               <expression noclean="1" repeat="yes">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
+                               <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/li&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$1" output="&lt;track&gt;&lt;position&gt;\1&lt;/position&gt;&lt;title&gt;\3&lt;/title&gt;&lt;duration&gt;\4&lt;/duration&gt;&lt;/track&gt;" dest="5+">
-                               <expression noclean="1,2,3" repeat="yes">&quot;cell&quot;&gt;([0-9]+)&lt;/.*?sql=([0-9:a-z]*)&quot;&gt;(.*?)&lt;/a&gt;.*?&quot;right&quot;.*?&gt;(.*?)&lt;/</expression>
+                       <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="5+">
+                               <expression repeat="yes" noclean="1,2,3">&quot;cell&quot;&gt;([0-9]+)&lt;.*?&lt;td class=&quot;cell&quot;&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;&lt;/td&gt;.*?&lt;td class=&quot;cell&quot;&gt;([0-9]*:[0-9]*)&lt;/td&gt;</expression>
                        </RegExp>
-                       <RegExp input="$$1" conditional="allmusicalbumthumbs" output="&lt;thumb&gt;http://image.allmusic.com/\1&lt;/thumb&gt;" dest="5+">
+                       <RegExp conditional="allmusicalbumthumbs" input="$$1" output="&lt;thumb&gt;http://image.allmusic.com/\1&lt;/thumb&gt;" dest="5+">
                                <expression noclean="1">http://image.allmusic.com/([^&quot;]*)&quot;</expression>
                        </RegExp>
-                       <expression noclean="1"/>
+                       <expression noclean="1" />
                </RegExp>
        </ParseAMGAlbum>
 </scraperfunctions>