diff options
Diffstat (limited to 'addons/metadata.common.allmusic.com')
-rw-r--r-- | addons/metadata.common.allmusic.com/addon.xml | 42 | ||||
-rw-r--r-- | addons/metadata.common.allmusic.com/allmusic.xml | 372 | ||||
-rw-r--r-- | addons/metadata.common.allmusic.com/icon.png | bin | 0 -> 6197 bytes |
3 files changed, 414 insertions, 0 deletions
diff --git a/addons/metadata.common.allmusic.com/addon.xml b/addons/metadata.common.allmusic.com/addon.xml new file mode 100644 index 0000000..effc5bb --- /dev/null +++ b/addons/metadata.common.allmusic.com/addon.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<addon id="metadata.common.allmusic.com" + name="AllMusic Scraper Library" + version="3.2.2" + provider-name="Team Kodi"> + <requires> + <import addon="xbmc.metadata" version="2.1.0"/> + </requires> + <extension point="xbmc.metadata.scraper.library" + library="allmusic.xml"/> + <extension point="xbmc.addon.metadata"> + <platform>all</platform> + <summary lang="bg">Библиотека за сваляне на музикална инф. от AllMusic</summary> + <summary lang="en">AllMusic Music Scraper Library</summary> + <summary lang="de">Musik-Scraper für AllMusic.com</summary> + <summary lang="es">Scraper de música de AllMusic</summary> + <summary lang="fi">AllMusic musiikkitietojen lataajan kirjasto</summary> + <summary lang="fr">Scraper AllMusic pour la musique</summary> + <summary lang="hu">AllMusic zenei adat leolvasó</summary> + <summary lang="nl">AllMusic-scraperfuncties</summary> + <summary lang="pl">Scraper muzyki AllMusic</summary> + <summary lang="pt">Scraper de música AllMusic</summary> + <summary lang="ro">Bibliotecă catalog de muzică AllMusic</summary> + <summary lang="ru">Музыкальная Информация AllMusic</summary> + <summary lang="se">Skrapa för AllMusic.com</summary> + <summary lang="zh">AllMusic音乐刮削器代码库</summary> + <description lang="bg">Извлича инф. за музикални файлове от www.allmusic.com</description> + <description lang="en">Download Music information from www.allmusic.com</description> + <description lang="de">Downloade Musik Informationen von www.allmusic.com</description> + <description lang="es">Descarga información musical de www.allmusic.com</description> + <description lang="fi">Lataa musiikkitietoja osoitteesta www.allmusic.com</description> + <description lang="fr">Télécharger les infos musicales depuis www.allmusic.com</description> + <description lang="hu">Zene információk letöltése a www.allmusic.com webhelyről</description> + <description lang="nl">Muziekinformatie ophalen van www.allmusic.com</description> + <description lang="pl">Pobieraj informacje o muzyce z www.allmusic.com</description> + <description lang="pt">Descarregar informação de música de www.allmusic.com</description> + <description lang="ro">Descărcați informații muzică de pe www.allmusic.com</description> + <description lang="ru">Загружать информацию о Музыке с www.allmusic.com</description> + <description lang="se">Ladda ner musikinformation från www.allmusic.com</description> + <description lang="zh">从www.allmusic.com下载音乐信息</description> + </extension> +</addon> diff --git a/addons/metadata.common.allmusic.com/allmusic.xml b/addons/metadata.common.allmusic.com/allmusic.xml new file mode 100644 index 0000000..0493875 --- /dev/null +++ b/addons/metadata.common.allmusic.com/allmusic.xml @@ -0,0 +1,372 @@ +<?xml version="1.0" encoding="UTF-8"?> +<scraperfunctions> + <GetAMGDiscographyByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist-discography.html" function="ParseAMGDiscography">https://www.allmusic.com/artist/\1/discography</url></details>" dest="5"> + <expression clear="yes" noclean="1"/> + </RegExp> + </GetAMGDiscographyByAMGID> + <ParseAMGDiscography dest="5" clearbuffers="no"> + <RegExp input="$$3" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="3"> + <expression /> + </RegExp> + <RegExp input="$$1" output="<album><year>\1</year><title>\2</title><label>\3</label></album>" dest="3"> + <expression repeat="yes" clear="yes" trim="1"><td\sclass="year[^"]*"(?:\stitle="[^"]*")*\s*data-sort-value="[^>]*>\s*([^<]*)</td>[^<]*<td\sclass=".*?title="([^"]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGDiscography> + + <GetAMGArtistLifeSpanByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistLifeSpan">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGArtistLifeSpanByAMGID> + <ParseAMGArtistLifeSpan dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="" output="" dest="11"> + <expression /> + </RegExp> + <RegExp input="$$1" output="<born>\1 \3</born>" dest="11+"> + <expression trim="1,2"><h4>\s.+Born.*?birthdate/[^"]+">([^<]*)(.*?"/birthplace/[^"]+">([^<]*))?</expression> + </RegExp> + <RegExp input="$$1" output="<died>\1 \3</died>" dest="11+"> + <expression trim="1,2"><h4>\s.+Died.*?deathdate/[^"]+">([^<]*)(.*?"/deathplace/[^"]+">([^<]*))?</expression> + </RegExp> + <RegExp input="$$1" output="<formed>\1</formed>" dest="11+"> + <expression trim="1,2"><h4>\s.+Formed.*?birthdate/[^"]+">([^<]*)</expression> + </RegExp> + <RegExp input="$$1" output="<disbanded>\1</disbanded>" dest="11+"> + <expression trim="1,2"><h4>\s.+Disbanded.*?deathdate/[^"]+[^"]+">([^<]*)</expression> + </RegExp> + <RegExp input="$$11" output="$$12" dest="2"> + <RegExp input="$INFO[lifespanfbsource]" output="<chain function="GetMBFallbackLafeSpanByMBID">$$8</chain>" dest="12"> + <expression>MusicBrainz</expression> + </RegExp> + <RegExp input="$INFO[lifespanfbsource]" output="<chain function="GetTADBFallbackLifeSpanByMBID">$$8</chain>" dest="12"> + <expression>TheAudioDb.com</expression> + </RegExp> + <expression>^$</expression> + </RegExp> + <RegExp input="$$11" output="$$11" dest="2"> + <expression noclean="1"><(?:born|formed)*>(.+)</(?:born|formed)*></expression> + </RegExp> + <expression noclean="1"/> + </RegExp> + </ParseAMGArtistLifeSpan> + + <GetAMGFallbackArtistLifeSpanByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistLifeSpan">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGFallbackArtistLifeSpanByAMGID> + <ParseAMGFallbackArtistLifeSpan dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="$$1" output="<born>\1 \3</born>" dest="2"> + <expression trim="1,2"><h4>\s.+Born.*?birthdate/[^"]+">([^<]*)(.*?"/birthplace/[^"]+">([^<]*))?</expression> + </RegExp> + <RegExp input="$$1" output="<died>\1 \3</died>" dest="2+"> + <expression trim="1,2"><h4>\s.+Died.*?deathdate/[^"]+">([^<]*)(.*?"/deathplace/[^"]+">([^<]*))?</expression> + </RegExp> + <RegExp input="$$1" output="<formed>\1</formed>" dest="2"> + <expression trim="1,2"><h4>\s.+Formed.*?birthdate/[^"]+">([^<]*)</expression> + </RegExp> + <RegExp input="$$1" output="<disbanded>\1</disbanded>" dest="2+"> + <expression trim="1,2"><h4>\s.+Disbanded.*?deathdate/[^"]+[^"]+">([^<]*)</expression> + </RegExp> + <expression noclean="1"/> + </RegExp> + </ParseAMGFallbackArtistLifeSpan> + + <GetAMGArtistYearsActiveByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistYearsActive">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGArtistYearsActiveByAMGID> + <ParseAMGArtistYearsActive dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="$$1" output="<yearsactive>\1</yearsactive>" dest="2"> + <expression trim="1" noclean="1"><h\d>Active</h\d>[^>]*>([^<]*)<</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGArtistYearsActive> + + <GetAMGArtistGenresByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistGenres">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGArtistGenresByAMGID> + <ParseAMGArtistGenres dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="" output="" dest="6"> + <expression /> + </RegExp> + <RegExp input="$$1" output="\1" dest="6"> + <expression noclean="1"><h4>Genre</h4>\s*<div>(.*?)</div></expression> + </RegExp> + <RegExp input="$$6" output="<genre>\1</genre>" dest="11"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/genre/[^"]*">([^<]*)</expression> + </RegExp> + <RegExp input="$$11" output="$$12" dest="2"> + <RegExp input="$INFO[genresfbsource]" output="<chain function="GetLastFMFallbackArtistGenresByMBID">$$8</chain>" dest="12"> + <expression>last.fm</expression> + </RegExp> + <RegExp input="$INFO[genresfbsource]" output="<chain function="GetTADBFallbackArtistGenresByMBID">$$8</chain>" dest="12"> + <expression>TheAudioDb.com</expression> + </RegExp> + <expression><genre></genre></expression> + </RegExp> + <RegExp input="$$11" output="$$11" dest="2"> + <expression><genre>(.+)</genre></expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGArtistGenres> + + <GetAMGFallbackArtistGenresByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistGenres">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGFallbackArtistGenresByAMGID> + <ParseAMGFallbackArtistGenres dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="" output="" dest="6"> + <expression /> + </RegExp> + <RegExp input="$$1" output="\1" dest="6"> + <expression noclean="1"><h4>Genre</h4>\s*<div>(.*?)</div></expression> + </RegExp> + <RegExp input="$$6" output="<genre>\1</genre>" dest="2"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/genre/[^"]*">([^<]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGFallbackArtistGenres> + + <GetAMGArtistStylesByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistStyles">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGArtistStylesByAMGID> + <ParseAMGArtistStyles dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="" output="" dest="7"> + <expression /> + </RegExp> + <RegExp input="$$1" output="\1" dest="7"> + <expression noclean="1"><h4>Styles</h4>\s*<div>(.*?)</div></expression> + </RegExp> + <RegExp input="$$7" output="<style>\1</style>" dest="11"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/style/[^"]*">([^<]*)</expression> + </RegExp> + <RegExp input="$$11" output="$$12" dest="2"> + <RegExp input="$INFO[stylesfbsource]" output="<chain function="GetLastFMFallbackArtistStylesByMBID">$$8</chain>" dest="12"> + <expression>last.fm</expression> + </RegExp> + <RegExp input="$INFO[stylesfbsource]" output="<chain function="GetTADBFallbackArtistStylesByMBID">$$8</chain>" dest="12"> + <expression>TheAudioDb.com</expression> + </RegExp> + <expression><style></style></expression> + </RegExp> + <RegExp input="$$11" output="$$11" dest="2"> + <expression><style>(.+)</style></expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGArtistStyles> + + <GetAMGFallbackArtistStylesByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistStyles">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGFallbackArtistStylesByAMGID> + <ParseAMGFallbackArtistStyles dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="" output="" dest="7"> + <expression /> + </RegExp> + <RegExp input="$$1" output="\1" dest="7"> + <expression noclean="1"><h4>Styles</h4>\s*<div>(.*?)</div></expression> + </RegExp> + <RegExp input="$$7" output="<style>\1</style>" dest="2"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/style/[^"]*">([^<]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGFallbackArtistStyles> + + <GetAMGArtistMoodsByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistMoods">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGArtistMoodsByAMGID> + <ParseAMGArtistMoods dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="" output="" dest="10"> + <expression /> + </RegExp> + <RegExp input="$$1" output="\1" dest="10"> + <expression noclean="1">>Artists\sMoods</h\d*>(.*?)</ul></expression> + </RegExp> + <RegExp input="$$10" output="<mood>\1</mood>" dest="11"> + <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a>\s*</li></expression> + </RegExp> + <RegExp input="$$11" output="$$12" dest="2"> + <RegExp input="$INFO[moodsfbsource]" output="<chain function="GetTADBFallbackArtistMoodsByMBID">$$8</chain>" dest="12"> + <expression>TheAudioDb.com</expression> + </RegExp> + <expression><mood></mood></expression> + </RegExp> + <RegExp input="$$11" output="$$11" dest="2"> + <expression><mood>(.+)</mood></expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGArtistMoods> + + <GetAMGFallbackArtistMoodsByAMGID dest="5" clearbuffers="no"> + <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistMoods">https://www.allmusic.com/artist/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGFallbackArtistMoodsByAMGID> + <ParseAMGFallbackArtistMoods dest="5" clearbuffers="no"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="" output="" dest="2"> + <expression /> + </RegExp> + <RegExp input="" output="" dest="10"> + <expression /> + </RegExp> + <RegExp input="$$1" output="\1" dest="10"> + <expression noclean="1">>Artists\sMoods</h\d*>(.*?)</ul></expression> + </RegExp> + <RegExp input="$$10" output="<mood>\1</mood>" dest="2"> + <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a>\s*</li></expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGFallbackArtistMoods> + + + <GetAMGAlbumRatingByAMGID dest="5"> + <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumRating">https://www.allmusic.com/album/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGAlbumRatingByAMGID> + <ParseAMGAlbumRating dest="5"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="$$1" output="<rating max="10.0">\1</rating>" dest="2"> + <expression noclean="1">rating-allmusic-([0-9^]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGAlbumRating> + + <GetAMGAlbumGenresByAMGID dest="5"> + <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumGenres">https://www.allmusic.com/album/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGAlbumGenresByAMGID> + <ParseAMGAlbumGenres dest="5"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="$$1" output="\1" dest="6"> + <expression noclean="1">class="genre">(.*?)</div></expression> + </RegExp> + <RegExp input="$$6" output="<genre>\1</genre>" dest="2"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/genre/[^"]*">([^<]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGAlbumGenres> + + <GetAMGAlbumStylesByAMGID dest="5"> + <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumStyles">https://www.allmusic.com/album/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGAlbumStylesByAMGID> + <ParseAMGAlbumStyles dest="5"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="$$1" output="\1" dest="7"> + <expression noclean="1">class="styles">(.*?)</div></expression> + </RegExp> + <RegExp input="$$7" output="<style>\1</style>" dest="2"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/style/[^"]*">([^<]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGAlbumStyles> + + <GetAMGAlbumMoodsByAMGID dest="5"> + <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumMoods">https://www.allmusic.com/album/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGAlbumMoodsByAMGID> + <ParseAMGAlbumMoods dest="5"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="$$1" output="\1" dest="8"> + <expression trim="1" noclean="1">>\s*<h4>Album\sMoods</h4>(.*?)</section></expression> + </RegExp> + <RegExp input="$$8" output="<mood>\1</mood>" dest="2"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/mood/[^"]*">([^<]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGAlbumMoods> + + <GetAMGAlbumThemesByAMGID dest="5"> + <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumThemes">https://www.allmusic.com/album/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGAlbumThemesByAMGID> + <ParseAMGAlbumThemes dest="5"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="$$1" output="\1" dest="4"> + <expression trim="1" noclean="1"><section\sclass="themes">(.*?)</section></expression> + </RegExp> + <RegExp input="$$4" output="<theme>\1</theme>" dest="2"> + <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/theme/[^"]*">([^<]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGAlbumThemes> + + <GetAMGAlbumThumbsByAMGID dest="5"> + <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumThumbs">https://www.allmusic.com/album/\1</url></details>" dest="5"> + <expression noclean="1"/> + </RegExp> + </GetAMGAlbumThumbsByAMGID> + <ParseAMGAlbumThumbs dest="5"> + <RegExp input="$$2" output="<details>\1</details>" dest="5"> + <RegExp input="$$1" output="<thumb aspect="thumb">https://cdn-s3.allmusic.com/release-covers/500/\1</thumb>" dest="2"> + <expression noclean="1"><img src="https://cdn-s3.allmusic.com/release-covers/500/([^"]*)</expression> + </RegExp> + <expression noclean="1" /> + </RegExp> + </ParseAMGAlbumThumbs> + +</scraperfunctions> diff --git a/addons/metadata.common.allmusic.com/icon.png b/addons/metadata.common.allmusic.com/icon.png Binary files differnew file mode 100644 index 0000000..bf2789e --- /dev/null +++ b/addons/metadata.common.allmusic.com/icon.png |