Merge pull request #26109 from felizk/fix-resume-for-plugin-videos-in-widgets
[xbmc.git] / addons / metadata.common.allmusic.com / allmusic.xml
blob0493875859add2ac907171b1dc2bfd83614f3aa5
1 <?xml version="1.0" encoding="UTF-8"?>
2 <scraperfunctions>
3         <GetAMGDiscographyByAMGID dest="5" clearbuffers="no">
4                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist-discography.html&quot; function=&quot;ParseAMGDiscography&quot;&gt;https://www.allmusic.com/artist/\1/discography&lt;/url&gt;&lt;/details&gt;" dest="5">
5                         <expression clear="yes" noclean="1"/>
6                 </RegExp>
7         </GetAMGDiscographyByAMGID>
8         <ParseAMGDiscography dest="5" clearbuffers="no">
9                 <RegExp input="$$3" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
10                         <RegExp input="" output="" dest="3">
11                                 <expression />
12                         </RegExp>
13                         <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="3">
14                                 <expression repeat="yes" clear="yes" trim="1">&lt;td\sclass=&quot;year[^&quot;]*&quot;(?:\stitle=&quot;[^&quot;]*&quot;)*\s*data-sort-value=&quot;[^&gt;]*&gt;\s*([^&lt;]*)&lt;/td&gt;[^&lt;]*&lt;td\sclass=&quot;.*?title=&quot;([^&quot;]*)</expression>
15                         </RegExp>
16                         <expression noclean="1" />
17                 </RegExp>
18         </ParseAMGDiscography>
20         <GetAMGArtistLifeSpanByAMGID dest="5" clearbuffers="no">
21                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistLifeSpan&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
22                         <expression noclean="1"/>
23                 </RegExp>
24         </GetAMGArtistLifeSpanByAMGID>
25         <ParseAMGArtistLifeSpan dest="5" clearbuffers="no">
26                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
27                         <RegExp input="" output="" dest="2">
28                                 <expression />
29                         </RegExp>
30                         <RegExp input="" output="" dest="11">
31                                 <expression />
32                         </RegExp>
33                         <RegExp input="$$1" output="&lt;born&gt;\1 \3&lt;/born&gt;" dest="11+">
34                                 <expression trim="1,2">&lt;h4&gt;\s.+Born.*?birthdate/[^&quot;]+&quot;&gt;([^&lt;]*)(.*?"/birthplace/[^&quot;]+&quot;&gt;([^&lt;]*))?</expression>
35                         </RegExp>
36                         <RegExp input="$$1" output="&lt;died&gt;\1 \3&lt;/died&gt;" dest="11+">
37                                 <expression trim="1,2">&lt;h4&gt;\s.+Died.*?deathdate/[^&quot;]+&quot;&gt;([^&lt;]*)(.*?&quot;/deathplace/[^&quot;]+&quot;&gt;([^&lt;]*))?</expression>
38                         </RegExp>
39                         <RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="11+">
40                                 <expression trim="1,2">&lt;h4&gt;\s.+Formed.*?birthdate/[^&quot;]+&quot;&gt;([^&lt;]*)</expression>
41                         </RegExp>
42                         <RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="11+">
43                                 <expression trim="1,2">&lt;h4&gt;\s.+Disbanded.*?deathdate/[^&quot;]+[^&quot;]+&quot;&gt;([^&lt;]*)</expression>
44                         </RegExp>
45                         <RegExp input="$$11" output="$$12" dest="2">
46                                 <RegExp input="$INFO[lifespanfbsource]" output="&lt;chain function=&quot;GetMBFallbackLafeSpanByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
47                                         <expression>MusicBrainz</expression>
48                                 </RegExp>
49                                 <RegExp input="$INFO[lifespanfbsource]" output="&lt;chain function=&quot;GetTADBFallbackLifeSpanByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
50                                         <expression>TheAudioDb.com</expression>
51                                 </RegExp>
52                         <expression>^$</expression>
53                         </RegExp>
54                         <RegExp input="$$11" output="$$11" dest="2">
55                         <expression noclean="1">&lt;(?:born|formed)*&gt;(.+)&lt;/(?:born|formed)*&gt;</expression>
56                         </RegExp>
57                         <expression noclean="1"/>
58                 </RegExp>
59         </ParseAMGArtistLifeSpan>
61         <GetAMGFallbackArtistLifeSpanByAMGID dest="5" clearbuffers="no">
62                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistLifeSpan&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
63                         <expression noclean="1"/>
64                 </RegExp>
65         </GetAMGFallbackArtistLifeSpanByAMGID>
66         <ParseAMGFallbackArtistLifeSpan dest="5" clearbuffers="no">
67                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
68                         <RegExp input="" output="" dest="2">
69                                 <expression />
70                         </RegExp>
71                         <RegExp input="$$1" output="&lt;born&gt;\1 \3&lt;/born&gt;" dest="2">
72                                 <expression trim="1,2">&lt;h4&gt;\s.+Born.*?birthdate/[^&quot;]+&quot;&gt;([^&lt;]*)(.*?"/birthplace/[^&quot;]+&quot;&gt;([^&lt;]*))?</expression>
73                         </RegExp>
74                         <RegExp input="$$1" output="&lt;died&gt;\1 \3&lt;/died&gt;" dest="2+">
75                                 <expression trim="1,2">&lt;h4&gt;\s.+Died.*?deathdate/[^&quot;]+&quot;&gt;([^&lt;]*)(.*?&quot;/deathplace/[^&quot;]+&quot;&gt;([^&lt;]*))?</expression>
76                         </RegExp>
77                         <RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="2">
78                                 <expression trim="1,2">&lt;h4&gt;\s.+Formed.*?birthdate/[^&quot;]+&quot;&gt;([^&lt;]*)</expression>
79                         </RegExp>
80                         <RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="2+">
81                                 <expression trim="1,2">&lt;h4&gt;\s.+Disbanded.*?deathdate/[^&quot;]+[^&quot;]+&quot;&gt;([^&lt;]*)</expression>
82                         </RegExp>
83                         <expression noclean="1"/>
84                 </RegExp>
85         </ParseAMGFallbackArtistLifeSpan>
87         <GetAMGArtistYearsActiveByAMGID dest="5" clearbuffers="no">
88                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistYearsActive&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
89                         <expression noclean="1"/>
90                 </RegExp>
91         </GetAMGArtistYearsActiveByAMGID>
92         <ParseAMGArtistYearsActive dest="5" clearbuffers="no">
93                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
94                         <RegExp input="" output="" dest="2">
95                                 <expression />
96                         </RegExp>
97                         <RegExp input="$$1" output="&lt;yearsactive&gt;\1&lt;/yearsactive&gt;" dest="2">
98                                 <expression trim="1" noclean="1">&lt;h\d&gt;Active&lt;/h\d&gt;[^&gt;]*&gt;([^&lt;]*)&lt;</expression>
99                         </RegExp>
100                         <expression noclean="1" />
101                 </RegExp>
102         </ParseAMGArtistYearsActive>
104         <GetAMGArtistGenresByAMGID dest="5" clearbuffers="no">
105                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistGenres&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
106                         <expression noclean="1"/>
107                 </RegExp>
108         </GetAMGArtistGenresByAMGID>
109         <ParseAMGArtistGenres dest="5" clearbuffers="no">
110                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
111                         <RegExp input="" output="" dest="2">
112                                 <expression />
113                         </RegExp>
114                         <RegExp input="" output="" dest="6">
115                                 <expression />
116                         </RegExp>
117                         <RegExp input="$$1" output="\1" dest="6">
118                                 <expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
119                         </RegExp>
120                         <RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="11">
121                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
122                         </RegExp>
123                         <RegExp input="$$11" output="$$12" dest="2">
124                                 <RegExp input="$INFO[genresfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackArtistGenresByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
125                                         <expression>last.fm</expression>
126                                 </RegExp>
127                                 <RegExp input="$INFO[genresfbsource]" output="&lt;chain function=&quot;GetTADBFallbackArtistGenresByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
128                                         <expression>TheAudioDb.com</expression>
129                                 </RegExp>
130                                 <expression>&lt;genre&gt;&lt;/genre&gt;</expression>
131                         </RegExp>
132                         <RegExp input="$$11" output="$$11" dest="2">
133                                 <expression>&lt;genre&gt;(.+)&lt;/genre&gt;</expression>
134                         </RegExp>
135                         <expression noclean="1" />
136                 </RegExp>
137         </ParseAMGArtistGenres>
139         <GetAMGFallbackArtistGenresByAMGID dest="5" clearbuffers="no">
140                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistGenres&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
141                         <expression noclean="1"/>
142                 </RegExp>
143         </GetAMGFallbackArtistGenresByAMGID>
144         <ParseAMGFallbackArtistGenres dest="5" clearbuffers="no">
145                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
146                         <RegExp input="" output="" dest="2">
147                                 <expression />
148                         </RegExp>
149                         <RegExp input="" output="" dest="6">
150                                 <expression />
151                         </RegExp>
152                         <RegExp input="$$1" output="\1" dest="6">
153                                 <expression noclean="1">&lt;h4&gt;Genre&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
154                         </RegExp>
155                         <RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="2">
156                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
157                         </RegExp>
158                         <expression noclean="1" />
159                 </RegExp>
160         </ParseAMGFallbackArtistGenres>
162         <GetAMGArtistStylesByAMGID dest="5" clearbuffers="no">
163                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistStyles&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
164                         <expression noclean="1"/>
165                 </RegExp>
166         </GetAMGArtistStylesByAMGID>
167         <ParseAMGArtistStyles dest="5" clearbuffers="no">
168                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
169                         <RegExp input="" output="" dest="2">
170                                 <expression />
171                         </RegExp>
172                         <RegExp input="" output="" dest="7">
173                                 <expression />
174                         </RegExp>
175                         <RegExp input="$$1" output="\1" dest="7">
176                                 <expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
177                         </RegExp>
178                         <RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="11">
179                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
180                         </RegExp>
181                         <RegExp input="$$11" output="$$12" dest="2">
182                                 <RegExp input="$INFO[stylesfbsource]" output="&lt;chain function=&quot;GetLastFMFallbackArtistStylesByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
183                                         <expression>last.fm</expression>
184                                 </RegExp>
185                                 <RegExp input="$INFO[stylesfbsource]" output="&lt;chain function=&quot;GetTADBFallbackArtistStylesByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
186                                         <expression>TheAudioDb.com</expression>
187                                 </RegExp>
188                                 <expression>&lt;style&gt;&lt;/style&gt;</expression>
189                         </RegExp>
190                         <RegExp input="$$11" output="$$11" dest="2">
191                                 <expression>&lt;style&gt;(.+)&lt;/style&gt;</expression>
192                         </RegExp>
193                         <expression noclean="1" />
194                 </RegExp>
195         </ParseAMGArtistStyles>
197         <GetAMGFallbackArtistStylesByAMGID dest="5" clearbuffers="no">
198                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistStyles&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
199                         <expression noclean="1"/>
200                 </RegExp>
201         </GetAMGFallbackArtistStylesByAMGID>
202         <ParseAMGFallbackArtistStyles dest="5" clearbuffers="no">
203                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
204                         <RegExp input="" output="" dest="2">
205                                 <expression />
206                         </RegExp>
207                         <RegExp input="" output="" dest="7">
208                                 <expression />
209                         </RegExp>
210                         <RegExp input="$$1" output="\1" dest="7">
211                                 <expression noclean="1">&lt;h4&gt;Styles&lt;/h4&gt;\s*&lt;div&gt;(.*?)&lt;/div&gt;</expression>
212                         </RegExp>
213                         <RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="2">
214                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
215                         </RegExp>
216                         <expression noclean="1" />
217                 </RegExp>
218         </ParseAMGFallbackArtistStyles>
220         <GetAMGArtistMoodsByAMGID dest="5" clearbuffers="no">
221                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGArtistMoods&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
222                         <expression noclean="1"/>
223                 </RegExp>
224         </GetAMGArtistMoodsByAMGID>
225         <ParseAMGArtistMoods dest="5" clearbuffers="no">
226                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
227                         <RegExp input="" output="" dest="2">
228                                 <expression />
229                         </RegExp>
230                         <RegExp input="" output="" dest="10">
231                                 <expression />
232                         </RegExp>
233                         <RegExp input="$$1" output="\1" dest="10">
234                                 <expression noclean="1">&gt;Artists\sMoods&lt;/h\d*&gt;(.*?)&lt;/ul&gt;</expression>
235                         </RegExp>
236                         <RegExp input="$$10" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="11">
237                                 <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;\s*&lt;/li&gt;</expression>
238                         </RegExp>
239                         <RegExp input="$$11" output="$$12" dest="2">
240                                 <RegExp input="$INFO[moodsfbsource]" output="&lt;chain function=&quot;GetTADBFallbackArtistMoodsByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
241                                         <expression>TheAudioDb.com</expression>
242                                 </RegExp>
243                                 <expression>&lt;mood&gt;&lt;/mood&gt;</expression>
244                         </RegExp>
245                         <RegExp input="$$11" output="$$11" dest="2">
246                                 <expression>&lt;mood&gt;(.+)&lt;/mood&gt;</expression>
247                         </RegExp>
248                         <expression noclean="1" />
249                 </RegExp>
250         </ParseAMGArtistMoods>
252         <GetAMGFallbackArtistMoodsByAMGID dest="5" clearbuffers="no">
253                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-artist.html&quot; function=&quot;ParseAMGFallbackArtistMoods&quot;&gt;https://www.allmusic.com/artist/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
254                         <expression noclean="1"/>
255                 </RegExp>
256         </GetAMGFallbackArtistMoodsByAMGID>
257         <ParseAMGFallbackArtistMoods dest="5" clearbuffers="no">
258                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
259                         <RegExp input="" output="" dest="2">
260                                 <expression />
261                         </RegExp>
262                         <RegExp input="" output="" dest="10">
263                                 <expression />
264                         </RegExp>
265                         <RegExp input="$$1" output="\1" dest="10">
266                                 <expression noclean="1">&gt;Artists\sMoods&lt;/h\d*&gt;(.*?)&lt;/ul&gt;</expression>
267                         </RegExp>
268                         <RegExp input="$$10" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="2">
269                                 <expression repeat="yes" noclean="1">&lt;li&gt;[^&gt;]*&gt;([^&lt;]*)&lt;/a&gt;\s*&lt;/li&gt;</expression>
270                         </RegExp>
271                         <expression noclean="1" />
272                 </RegExp>
273         </ParseAMGFallbackArtistMoods>
276         <GetAMGAlbumRatingByAMGID dest="5">
277                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumRating&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
278                         <expression noclean="1"/>
279                 </RegExp>
280         </GetAMGAlbumRatingByAMGID>
281         <ParseAMGAlbumRating dest="5">
282                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
283                         <RegExp input="$$1" output="&lt;rating max=&quot;10.0&quot;&gt;\1&lt;/rating&gt;" dest="2">
284                                 <expression noclean="1">rating-allmusic-([0-9^]*)</expression>
285                         </RegExp>
286                         <expression noclean="1" />
287                 </RegExp>
288         </ParseAMGAlbumRating>
290         <GetAMGAlbumGenresByAMGID dest="5">
291                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumGenres&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
292                         <expression noclean="1"/>
293                 </RegExp>
294         </GetAMGAlbumGenresByAMGID>
295         <ParseAMGAlbumGenres dest="5">
296                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
297                         <RegExp input="$$1" output="\1" dest="6">
298                                 <expression noclean="1">class=&quot;genre&quot;&gt;(.*?)&lt;/div&gt;</expression>
299                         </RegExp>
300                         <RegExp input="$$6" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="2">
301                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/genre/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
302                         </RegExp>
303                         <expression noclean="1" />
304                 </RegExp>
305         </ParseAMGAlbumGenres>
307         <GetAMGAlbumStylesByAMGID dest="5">
308                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumStyles&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
309                         <expression noclean="1"/>
310                 </RegExp>
311         </GetAMGAlbumStylesByAMGID>
312         <ParseAMGAlbumStyles dest="5">
313                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
314                         <RegExp input="$$1" output="\1" dest="7">
315                                 <expression noclean="1">class=&quot;styles&quot;&gt;(.*?)&lt;/div&gt;</expression>
316                         </RegExp>
317                         <RegExp input="$$7" output="&lt;style&gt;\1&lt;/style&gt;" dest="2">
318                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/style/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
319                         </RegExp>
320                         <expression noclean="1" />
321                 </RegExp>
322         </ParseAMGAlbumStyles>
324         <GetAMGAlbumMoodsByAMGID dest="5">
325                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumMoods&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
326                         <expression noclean="1"/>
327                 </RegExp>
328         </GetAMGAlbumMoodsByAMGID>
329         <ParseAMGAlbumMoods dest="5">
330                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
331                         <RegExp input="$$1" output="\1" dest="8">
332                                 <expression trim="1" noclean="1">&gt;\s*&lt;h4&gt;Album\sMoods&lt;/h4&gt;(.*?)&lt;/section&gt;</expression>
333                         </RegExp>
334                         <RegExp input="$$8" output="&lt;mood&gt;\1&lt;/mood&gt;" dest="2">
335                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/mood/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
336                         </RegExp>
337                         <expression noclean="1" />
338                 </RegExp>
339         </ParseAMGAlbumMoods>
341         <GetAMGAlbumThemesByAMGID dest="5">
342                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumThemes&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
343                         <expression noclean="1"/>
344                 </RegExp>
345         </GetAMGAlbumThemesByAMGID>
346         <ParseAMGAlbumThemes dest="5">
347                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
348                         <RegExp input="$$1" output="\1" dest="4">
349                                 <expression trim="1" noclean="1">&lt;section\sclass=&quot;themes&quot;&gt;(.*?)&lt;/section&gt;</expression>
350                         </RegExp>
351                         <RegExp input="$$4" output="&lt;theme&gt;\1&lt;/theme&gt;" dest="2">
352                                 <expression repeat="yes" noclean="1">&lt;a\shref=&quot;https://www.allmusic.com/theme/[^&quot;]*&quot;&gt;([^&lt;]*)</expression>
353                         </RegExp>
354                         <expression noclean="1" />
355                 </RegExp>
356         </ParseAMGAlbumThemes>
358         <GetAMGAlbumThumbsByAMGID dest="5">
359                 <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;am-\1-album.html&quot; function=&quot;ParseAMGAlbumThumbs&quot;&gt;https://www.allmusic.com/album/\1&lt;/url&gt;&lt;/details&gt;" dest="5">
360                         <expression noclean="1"/>
361                 </RegExp>
362         </GetAMGAlbumThumbsByAMGID>
363         <ParseAMGAlbumThumbs dest="5">
364                 <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
365                         <RegExp input="$$1" output="&lt;thumb aspect=&quot;thumb&quot;&gt;https://cdn-s3.allmusic.com/release-covers/500/\1&lt;/thumb&gt;" dest="2">
366                                 <expression noclean="1">&lt;img src=&quot;https://cdn-s3.allmusic.com/release-covers/500/([^&quot;]*)</expression>
367                         </RegExp>
368                         <expression noclean="1" />
369                 </RegExp>
370         </ParseAMGAlbumThumbs>
372 </scraperfunctions>