mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 02:37:08 -07:00
Implement Waffles Indexer (#34)
* Implement Waffles Indexer Implement Waffles Indexer * Remove Exception Class Remove Exception Class * Fix csproj file Fix csproj file * Add Test Fixture Add Test Fixture * Split line due to length for readability Split line due to length for readability
This commit is contained in:
parent
ae8c766b57
commit
5556989324
8 changed files with 898 additions and 0 deletions
586
src/NzbDrone.Core.Test/Files/Indexers/Waffles/waffles.xml
Normal file
586
src/NzbDrone.Core.Test/Files/Indexers/Waffles/waffles.xml
Normal file
|
@ -0,0 +1,586 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<channel>
|
||||
<title>Waffles</title>
|
||||
<link>https://waffles.ch</link>
|
||||
<description>To make the links go to the details page, add &i to the end of the URL.</description>
|
||||
<language>en-usde</language>
|
||||
<copyright>Copyright 2009 Waffles</copyright>
|
||||
<webMaster>waffles@waffles.ch</webMaster>
|
||||
<image>
|
||||
<title>artist:coldplay</title>
|
||||
<url>https://waffles.ch/favicon.ico</url>
|
||||
<link>https://waffles.ch/browse.php?c0=1&q=artist%3Acoldplay&limit=50</link>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
<description>artist:coldplay</description>
|
||||
</image>
|
||||
<item>
|
||||
<title>Coldplay - Kaleidoscope EP (FLAC HD) [2017-Web-FLAC-Lossless]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1166992" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1166992&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Alternative<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 552668227<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1166992/Coldplay%20-%20Kaleidoscope%20EP%20%28FLAC%20HD%29%20%5B2017-Web-FLAC-Lossless%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 11<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: FLAC<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=0">*Anonymous*</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 6<br/>
|
||||
Bitrate: Lossless<br/>
|
||||
</tr></td></table><br/>
|
||||
Coldplay – Kaleidoscope EP (FLAC HD)<br />
|
||||
<br />
|
||||
Year: 2017/07/13<br />
|
||||
Genre: Alternative<br />
|
||||
(24bit/96kHz)<br />
|
||||
<br />
|
||||
Tracklist<br />
|
||||
1. Coldplay – All I Can Think About Is You (04:34)<br />
|
||||
2. Coldplay &amp; Big Sean – Miracles (Someone Special) (04:36)<br />
|
||||
3. Coldplay – A L I E N S (04:42)<br />
|
||||
4. Coldplay &amp; The Chainsmokers – Something Just Like This (Tokyo Remix) (04:33)<br />
|
||||
5. Coldplay – Hypnotised (EP Mix) (06:31)
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1166992/Coldplay%20-%20Kaleidoscope%20EP%20%28FLAC%20HD%29%20%5B2017-Web-FLAC-Lossless%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1166992&hit=1</comments>
|
||||
<category>Alternative</category>
|
||||
<dc:date>2017-07-16T09:51:54Z</dc:date>
|
||||
<guid isPermaLink="false">1166992-9d438d94dc7fc934b801439f4c05458b</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - Kaleidoscope EP [2017-Web-MP3-320]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1166785" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1166785&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Alternative<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 69580307<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1166785/Coldplay%20-%20Kaleidoscope%20EP%20%5B2017-Web-MP3-320%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 11<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=230211">idenline</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 6<br/>
|
||||
Bitrate: 320<br/>
|
||||
</tr></td></table><br/>
|
||||
<img src="https://i.imgur.com/FMJLwf4.jpg" style="max-width:640px;max-height:480px;" /><br />
|
||||
<br />
|
||||
<span style="font-size:large"><b>Coldplay – Kaleidoscope EP</b></span><br />
|
||||
<b>Year:</b> 2017-07-13<br />
|
||||
<b>Genre:</b> <a href="https://anon.click/https://www.waffles.fm/tags.php?tag=alternative" target="_blank">Alternative</a><br />
|
||||
<br />
|
||||
<span style="font-size:medium"><b>Tracklist</b></span><br />
|
||||
1. Coldplay – All I Can Think About Is You (04:34)<br />
|
||||
2. Coldplay &amp; Big Sean – Miracles (Someone Special) (04:36)<br />
|
||||
3. Coldplay – A L I E N S (04:42)<br />
|
||||
4. Coldplay &amp; The Chainsmokers – Something Just Like This (Tokyo Remix) (04:33)<br />
|
||||
5. Coldplay – Hypnotised (EP Mix) (06:31)<br />
|
||||
<br />
|
||||
<b>Total length:</b> 24:56<br />
|
||||
<br />
|
||||
More information: <a href="https://anon.click/https://itunes.apple.com/us/album/kaleidoscope-ep/id1248904974?uo=4" target="_blank">https://itunes.apple.com/us/album/kaleidoscope-ep/id1248904974?uo=4</a>
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1166785/Coldplay%20-%20Kaleidoscope%20EP%20%5B2017-Web-MP3-320%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1166785&hit=1</comments>
|
||||
<category>Alternative</category>
|
||||
<dc:date>2017-07-14T20:30:17Z</dc:date>
|
||||
<guid isPermaLink="false">1166785-bb582163c070d5e2bd297b8d72308f7d</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - Kaleidoscope EP [2017-Web-FLAC-Lossless]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1166784" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1166784&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Alternative<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 176342030<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1166784/Coldplay%20-%20Kaleidoscope%20EP%20%5B2017-Web-FLAC-Lossless%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 43<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: FLAC<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=230211">idenline</a> (Uploader)<br/>
|
||||
Comments: 1<br/>
|
||||
Files: 6<br/>
|
||||
Bitrate: Lossless<br/>
|
||||
</tr></td></table><br/>
|
||||
<img src="https://i.imgur.com/FMJLwf4.jpg" style="max-width:640px;max-height:480px;" /><br />
|
||||
<br />
|
||||
<span style="font-size:large"><b>Coldplay – Kaleidoscope EP</b></span><br />
|
||||
<b>Year:</b> 2017-07-13<br />
|
||||
<b>Genre:</b> <a href="https://anon.click/https://www.waffles.fm/tags.php?tag=alternative" target="_blank">Alternative</a><br />
|
||||
<br />
|
||||
<span style="font-size:medium"><b>Tracklist</b></span><br />
|
||||
1. Coldplay – All I Can Think About Is You (04:34)<br />
|
||||
2. Coldplay &amp; Big Sean – Miracles (Someone Special) (04:36)<br />
|
||||
3. Coldplay – A L I E N S (04:42)<br />
|
||||
4. Coldplay &amp; The Chainsmokers – Something Just Like This (Tokyo Remix) (04:33)<br />
|
||||
5. Coldplay – Hypnotised (EP Mix) (06:31)<br />
|
||||
<br />
|
||||
<b>Total length:</b> 24:56
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1166784/Coldplay%20-%20Kaleidoscope%20EP%20%5B2017-Web-FLAC-Lossless%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1166784&hit=1</comments>
|
||||
<category>Alternative</category>
|
||||
<dc:date>2017-07-14T20:28:38Z</dc:date>
|
||||
<guid isPermaLink="false">1166784-344a753385ac46905e90b03bc674a3f6</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - Kaleidoscope EP [2017-Web-MP3-V0(VBR)]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1166765" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1166765&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Rock<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 51228307<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1166765/Coldplay%20-%20Kaleidoscope%20EP%20%5B2017-Web-MP3-V0%28VBR%29%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 17<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=0">*Anonymous*</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 6<br/>
|
||||
Bitrate: V0<br/>
|
||||
</tr></td></table><br/>
|
||||
From Redacted<br />
|
||||
2017 - Parlophone / WEB<br />
|
||||
<br />
|
||||
<img src="https://i.imgur.com/FMJLwf4.jpg" style="max-width:640px;max-height:480px;" /><br />
|
||||
<br />
|
||||
<span style="font-size:large"><b>Tracklist</b></span><br />
|
||||
<b>1.</b> Coldplay – All I Can Think About Is You <i>(04:34)</i><br />
|
||||
<b>2.</b> Coldplay &amp; Big Sean – Miracles (Someone Special) <i>(04:36)</i><br />
|
||||
<b>3.</b> Coldplay – A L I E N S <i>(04:42)</i><br />
|
||||
<b>4.</b> Coldplay &amp; The Chainsmokers – Something Just Like This (Tokyo Remix) <i>(04:33)</i><br />
|
||||
<b>5.</b> Coldplay – Hypnotised (EP Mix) <i>(06:31)</i><br />
|
||||
<br />
|
||||
<b>Total length:</b> 24:56<br />
|
||||
<br />
|
||||
More information: <a href="https://anon.click/https://itunes.apple.com/us/album/kaleidoscope-ep/id1248904974?uo=4" target="_blank">https://itunes.apple.com/us/album/kaleidoscope-ep/id1248904974?uo=4</a>
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1166765/Coldplay%20-%20Kaleidoscope%20EP%20%5B2017-Web-MP3-V0%28VBR%29%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1166765&hit=1</comments>
|
||||
<category>Rock</category>
|
||||
<dc:date>2017-07-14T16:24:28Z</dc:date>
|
||||
<guid isPermaLink="false">1166765-6e93009d6a6d1689133a292bfc6c79ce</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - All I Can Think About Is You [Single] [2017-Web-MP3-320] (Scene)</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1163589" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1163589&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Alternative<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 11407841<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1163589/Coldplay%20-%20All%20I%20Can%20Think%20About%20Is%20You%20%5BSingle%5D%20%5B2017-Web-MP3-320%5D%20%28Scene%29.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 2<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=230211">idenline</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 5<br/>
|
||||
Bitrate: 320<br/>
|
||||
</tr></td></table><br/>
|
||||
<img src="https://lut.im/dOcMCtGdnH/RF3xaArHwxC67lZq.jpg" style="max-width:640px;max-height:480px;" /><br />
|
||||
<br />
|
||||
<span style="font-size:small"><b>Coldplay – All I Can Think About Is You</b></span><br />
|
||||
<br />
|
||||
<span style="font-size:large"><b>Tracklist</b></span><br />
|
||||
<br />
|
||||
<b>1.</b>Coldplay – All I Can Think About Is You <i>(04:34)</i><br />
|
||||
<br />
|
||||
<b>Total length:</b> 04:34<br />
|
||||
<br />
|
||||
From the forthcoming EP Kaleidoscope
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1163589/Coldplay%20-%20All%20I%20Can%20Think%20About%20Is%20You%20%5BSingle%5D%20%5B2017-Web-MP3-320%5D%20%28Scene%29.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1163589&hit=1</comments>
|
||||
<category>Alternative</category>
|
||||
<dc:date>2017-06-18T20:13:26Z</dc:date>
|
||||
<guid isPermaLink="false">1163589-590295b689e5e9bfd193bedd5a2108cc</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - Parachutes [24bit-192kHz] [2000-Web-FLAC-Lossless]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1159282" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1159282&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Alternative<br/>
|
||||
Year: 2000<br/>
|
||||
Size: 1789688738<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1159282/Coldplay%20-%20Parachutes%20%5B24bit-192kHz%5D%20%5B2000-Web-FLAC-Lossless%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 3<br/>
|
||||
Leechers: 1<br/>
|
||||
Format: FLAC<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=236337">calabasas</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 11<br/>
|
||||
Bitrate: Lossless<br/>
|
||||
</tr></td></table><br/>
|
||||
Purchased from HDTracks - <a href="https://anon.click/http://www.hdtracks.com/parachutes-315927?format=FLAC" target="_blank">http://www.hdtracks.com/parachutes-315927?format=FLAC</a><br />
|
||||
<br />
|
||||
<img src="http://imgur.com/lPFxYfS.jpg" style="max-width:640px;max-height:480px;" /><br />
|
||||
<br />
|
||||
<b><span style="font-size:large">Coldplay - Parachutes</span></b><br />
|
||||
<br />
|
||||
<b>Label/Cat#:</b> Parlophone<br />
|
||||
<b>Country:</b> UK<br />
|
||||
<b>Year:</b> 2000<br />
|
||||
<b>Genre:</b> Alternative Rock, Britpop<br />
|
||||
<b>Format:</b> WEB, Album<br />
|
||||
<br />
|
||||
<b>Tracklist</b><br />
|
||||
<br />
|
||||
<b>1.</b> Don&#039;t Panic <i>(02:17)</i><br />
|
||||
<b>2.</b> Shiver <i>(04:59)</i><br />
|
||||
<b>3.</b> Spies <i>(05:18)</i><br />
|
||||
<b>4.</b> Sparks <i>(03:47)</i><br />
|
||||
<b>5.</b> Yellow <i>(04:29)</i><br />
|
||||
<b>6.</b> Trouble <i>(04:31)</i><br />
|
||||
<b>7.</b> Parachutes <i>(00:46)</i><br />
|
||||
<b>8.</b> High Speed <i>(04:14)</i><br />
|
||||
<b>9.</b> We Never Change <i>(04:09)</i><br />
|
||||
<b>10.</b> Everything&#039;s Not Lost / Life is for Living (Hidden Track) <i>(07:15)</i><br />
|
||||
<br />
|
||||
<b>Total length</b>: 41:47
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1159282/Coldplay%20-%20Parachutes%20%5B24bit-192kHz%5D%20%5B2000-Web-FLAC-Lossless%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1159282&hit=1</comments>
|
||||
<category>Alternative</category>
|
||||
<dc:date>2017-05-18T22:18:16Z</dc:date>
|
||||
<guid isPermaLink="false">1159282-015073d67c0b4e7ac2a00e95d98603bb</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - A Head Full of Dreams (Japanese Tour Edition) [2017-FLAC-Lossless-Log]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1154242" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1154242&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Rock<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 595533199<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1154242/Coldplay%20-%20A%20Head%20Full%20of%20Dreams%20%28Japanese%20Tour%20Edition%29%20%5B2017-FLAC-Lossless-Log%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 12<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: FLAC<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=6301">heirloom</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 25<br/>
|
||||
Bitrate: Lossless<br/>
|
||||
</tr></td></table><br/>
|
||||
<b>Japan Tour Edition:</b><br />
|
||||
CD1<br />
|
||||
01 A Head Full of Dreams<br />
|
||||
02 Birds<br />
|
||||
03 Hymn for the Weekend<br />
|
||||
04 Everglow<br />
|
||||
05 Adventure of a Lifetime<br />
|
||||
06 Fun<br />
|
||||
07 Kaleidoscope<br />
|
||||
08 Army of One / X Marks the Spot<br />
|
||||
09 Amazing Day<br />
|
||||
10 Colour Spectrum<br />
|
||||
11 Up&amp;Up<br />
|
||||
12 Miracles<br />
|
||||
CD2<br />
|
||||
01 Adventure of a Lifetime (Matoma Remix)<br />
|
||||
02 Hymn for the Weekend (SeeB Remix)<br />
|
||||
03 Up&amp;Up (Freedo Remix)<br />
|
||||
04 Magic (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
05 Clocks (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
06 Viva la Vida (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
07 Oceans (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
08 A Sky Full of Stars (Live at Tokyo Dome City Hall, Tokyo)
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1154242/Coldplay%20-%20A%20Head%20Full%20of%20Dreams%20%28Japanese%20Tour%20Edition%29%20%5B2017-FLAC-Lossless-Log%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1154242&hit=1</comments>
|
||||
<category>Rock</category>
|
||||
<dc:date>2017-04-15T12:52:32Z</dc:date>
|
||||
<guid isPermaLink="false">1154242-56d56f2d649a9bd6a61b25d10f92d8b2</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - A Head Full of Dreams (Japanese Tour Edition) [2017-CD-MP3-320-Log]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1154063" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1154063&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Rock<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 213357581<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1154063/Coldplay%20-%20A%20Head%20Full%20of%20Dreams%20%28Japanese%20Tour%20Edition%29%20%5B2017-CD-MP3-320-Log%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 4<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=6301">heirloom</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 25<br/>
|
||||
Bitrate: 320<br/>
|
||||
</tr></td></table><br/>
|
||||
<b>Japan Tour Edition:</b><br />
|
||||
CD1<br />
|
||||
01 A Head Full of Dreams<br />
|
||||
02 Birds<br />
|
||||
03 Hymn for the Weekend<br />
|
||||
04 Everglow<br />
|
||||
05 Adventure of a Lifetime<br />
|
||||
06 Fun<br />
|
||||
07 Kaleidoscope<br />
|
||||
08 Army of One / X Marks the Spot<br />
|
||||
09 Amazing Day<br />
|
||||
10 Colour Spectrum<br />
|
||||
11 Up&amp;Up<br />
|
||||
12 Miracles<br />
|
||||
CD2<br />
|
||||
01 Adventure of a Lifetime (Matoma Remix)<br />
|
||||
02 Hymn for the Weekend (SeeB Remix)<br />
|
||||
03 Up&amp;Up (Freedo Remix)<br />
|
||||
04 Magic (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
05 Clocks (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
06 Viva la Vida (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
07 Oceans (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
08 A Sky Full of Stars (Live at Tokyo Dome City Hall, Tokyo)
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1154063/Coldplay%20-%20A%20Head%20Full%20of%20Dreams%20%28Japanese%20Tour%20Edition%29%20%5B2017-CD-MP3-320-Log%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1154063&hit=1</comments>
|
||||
<category>Rock</category>
|
||||
<dc:date>2017-04-14T15:27:13Z</dc:date>
|
||||
<guid isPermaLink="false">1154063-cad18a6758c940860e448795a4a50375</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - A Head Full of Dreams (Japanese Tour Edition) [2017-CD-MP3-V0(VBR)-Log]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1154060" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1154060&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Rock<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 178934031<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1154060/Coldplay%20-%20A%20Head%20Full%20of%20Dreams%20%28Japanese%20Tour%20Edition%29%20%5B2017-CD-MP3-V0%28VBR%29-Log%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 7<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=6301">heirloom</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 25<br/>
|
||||
Bitrate: V0<br/>
|
||||
</tr></td></table><br/>
|
||||
<b>Japan Tour Edition:</b><br />
|
||||
CD1<br />
|
||||
01 A Head Full of Dreams<br />
|
||||
02 Birds<br />
|
||||
03 Hymn for the Weekend<br />
|
||||
04 Everglow<br />
|
||||
05 Adventure of a Lifetime<br />
|
||||
06 Fun<br />
|
||||
07 Kaleidoscope<br />
|
||||
08 Army of One / X Marks the Spot<br />
|
||||
09 Amazing Day<br />
|
||||
10 Colour Spectrum<br />
|
||||
11 Up&amp;Up<br />
|
||||
12 Miracles<br />
|
||||
CD2<br />
|
||||
01 Adventure of a Lifetime (Matoma Remix)<br />
|
||||
02 Hymn for the Weekend (SeeB Remix)<br />
|
||||
03 Up&amp;Up (Freedo Remix)<br />
|
||||
04 Magic (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
05 Clocks (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
06 Viva la Vida (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
07 Oceans (Live at Tokyo Dome City Hall, Tokyo)<br />
|
||||
08 A Sky Full of Stars (Live at Tokyo Dome City Hall, Tokyo)
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1154060/Coldplay%20-%20A%20Head%20Full%20of%20Dreams%20%28Japanese%20Tour%20Edition%29%20%5B2017-CD-MP3-V0%28VBR%29-Log%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1154060&hit=1</comments>
|
||||
<category>Rock</category>
|
||||
<dc:date>2017-04-14T15:23:22Z</dc:date>
|
||||
<guid isPermaLink="false">1154060-c30c33036dd692110303cb39de4fc051</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - X&Y [2005-CD-MP3-V2(VBR)-Log]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1152893" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1152893&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Alternative<br/>
|
||||
Year: 2005<br/>
|
||||
Size: 89254820<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1152893/Coldplay%20-%20X%26%23x26%3BY%20%5B2005-CD-MP3-V2%28VBR%29-Log%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 2<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=235469">hpet0</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 16<br/>
|
||||
Bitrate: V2<br/>
|
||||
</tr></td></table><br/>
|
||||
<b>Tracklist:</b><br />
|
||||
<br />
|
||||
1. Square One (4:46)<br />
|
||||
2. What If (4:56)<br />
|
||||
3. White Shadows (5:28)<br />
|
||||
4. Fix You (4:55)<br />
|
||||
5. Talk (5:11)<br />
|
||||
6. X&amp;Y (4:34)<br />
|
||||
7. Speed of Sound (4:48)<br />
|
||||
8. A Message (4:45)<br />
|
||||
9. Low (5:32)<br />
|
||||
10. The Hardest Part (4:25)<br />
|
||||
11. Swallowed in the Sea (3:59)<br />
|
||||
12. Twisted Logic (4:31)<br />
|
||||
13. &#039;til Kingdom Come / How You See the World (8:44)
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1152893/Coldplay%20-%20X%26%23x26%3BY%20%5B2005-CD-MP3-V2%28VBR%29-Log%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1152893&hit=1</comments>
|
||||
<category>Alternative</category>
|
||||
<dc:date>2017-04-08T00:37:41Z</dc:date>
|
||||
<guid isPermaLink="false">1152893-267fcd8cd8f0e5cb8925a4289be4ad94</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - Viva La Vida or Death And All His Friends (Japan) [2008-CD-MP3-V2(VBR)-Log]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1152891" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1152891&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Rock<br/>
|
||||
Year: 2008<br/>
|
||||
Size: 71570327<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1152891/Coldplay%20-%20Viva%20La%20Vida%20or%20Death%20And%20All%20His%20Friends%20%28Japan%29%20%5B2008-CD-MP3-V2%28VBR%29-Log%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 1<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=235469">hpet0</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 17<br/>
|
||||
Bitrate: V2<br/>
|
||||
</tr></td></table><br/>
|
||||
<b>Tracklist:</b><br />
|
||||
<br />
|
||||
01. Life In Technicolor [02:30]<br />
|
||||
02. Cemeteries Of London [03:21]<br />
|
||||
03. Lost! [03:55]<br />
|
||||
04. 42 [03:57]<br />
|
||||
05. Lovers In Japan [06:51]<br />
|
||||
06. Yes [07:07]<br />
|
||||
07. Viva La Vida [04:01]<br />
|
||||
08. Violet Hill [03:43]<br />
|
||||
09. Strawberry Swing [04:10]<br />
|
||||
10. Death And All His Friends [06:24]<br />
|
||||
11. Lost! (Alternate Version) (Bonus Track) [03:44]
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1152891/Coldplay%20-%20Viva%20La%20Vida%20or%20Death%20And%20All%20His%20Friends%20%28Japan%29%20%5B2008-CD-MP3-V2%28VBR%29-Log%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1152891&hit=1</comments>
|
||||
<category>Rock</category>
|
||||
<dc:date>2017-04-08T00:34:22Z</dc:date>
|
||||
<guid isPermaLink="false">1152891-e11d2bb5c9375017471d8768c3844b51</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - Parachutes [2000-CD-MP3-V2(VBR)-Log]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1152889" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1152889&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Alternative<br/>
|
||||
Year: 2000<br/>
|
||||
Size: 58474976<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1152889/Coldplay%20-%20Parachutes%20%5B2000-CD-MP3-V2%28VBR%29-Log%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 2<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=235469">hpet0</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 12<br/>
|
||||
Bitrate: V2<br/>
|
||||
</tr></td></table><br/>
|
||||
<b>Tracklist:</b><br />
|
||||
1. Don&#039;t Panic (2:19)<br />
|
||||
2. Shiver (5:01)<br />
|
||||
3. Spies (5:20)<br />
|
||||
4. Sparks (3:48)<br />
|
||||
5. Yellow (4:30)<br />
|
||||
6. Trouble (4:32)<br />
|
||||
7. Parachutes (0:47)<br />
|
||||
8. High Speed (4:15)<br />
|
||||
9. We Never Change (4:11)<br />
|
||||
10. Everything&#039;s Not Lost (7:16)
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1152889/Coldplay%20-%20Parachutes%20%5B2000-CD-MP3-V2%28VBR%29-Log%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1152889&hit=1</comments>
|
||||
<category>Alternative</category>
|
||||
<dc:date>2017-04-08T00:29:02Z</dc:date>
|
||||
<guid isPermaLink="false">1152889-eacb784b83fea23f353f437299795b68</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - A Head Full Of Dreams [2015-CD-MP3-V2(VBR)] (Scene)</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1152888" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1152888&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Pop<br/>
|
||||
Year: 2015<br/>
|
||||
Size: 67264805<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1152888/Coldplay%20-%20A%20Head%20Full%20Of%20Dreams%20%5B2015-CD-MP3-V2%28VBR%29%5D%20%28Scene%29.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 6<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=235469">hpet0</a> (Uploader)<br/>
|
||||
Comments: 1<br/>
|
||||
Files: 14<br/>
|
||||
Bitrate: V2<br/>
|
||||
</tr></td></table><br/>
|
||||
<b>Tracklist:</b><br />
|
||||
<br />
|
||||
01. A Head Full Of Dreams <br />
|
||||
02. Birds <br />
|
||||
03. Hymn For The Weekend (Feat. Beyonce) <br />
|
||||
04. Everglow <br />
|
||||
05. Adventure Of A Lifetime <br />
|
||||
06. Fun (Feat. Tove Lo) <br />
|
||||
07. Kaleidoscope <br />
|
||||
08. Army Of One / X Marks The Spot <br />
|
||||
09. Amazing Day <br />
|
||||
10. Colour Spectrum <br />
|
||||
11. Up&amp;Up
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1152888/Coldplay%20-%20A%20Head%20Full%20Of%20Dreams%20%5B2015-CD-MP3-V2%28VBR%29%5D%20%28Scene%29.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1152888&hit=1</comments>
|
||||
<category>Pop</category>
|
||||
<dc:date>2017-04-08T00:25:28Z</dc:date>
|
||||
<guid isPermaLink="false">1152888-85625243ba9b4cded8c96f4f8b2ab411</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>The Chainsmokers & Coldplay - Something Just Like This (Single) [2017-Web-FLAC-Lossless]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1147894" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1147894&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Electronic<br/>
|
||||
Year: 2017<br/>
|
||||
Size: 30491794<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1147894/The%20Chainsmokers%20%26%23x26%3B%20Coldplay%20-%20Something%20Just%20Like%20This%20%28Single%29%20%5B2017-Web-FLAC-Lossless%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 23<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: FLAC<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=3218">cdzo</a> (Uploader)<br/>
|
||||
Comments: 2<br/>
|
||||
Files: 2<br/>
|
||||
Bitrate: Lossless<br/>
|
||||
</tr></td></table><br/>
|
||||
Year: 2017<br />
|
||||
Artist: The Chainsmokers &amp; Coldplay<br />
|
||||
Source: WEB <br />
|
||||
Quality: FLAC<br />
|
||||
<br />
|
||||
01. The Chainsmokers &amp; Coldplay - Something Just Like This [4:08]
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1147894/The%20Chainsmokers%20%26%23x26%3B%20Coldplay%20-%20Something%20Just%20Like%20This%20%28Single%29%20%5B2017-Web-FLAC-Lossless%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1147894&hit=1</comments>
|
||||
<category>Electronic</category>
|
||||
<dc:date>2017-03-24T03:42:33Z</dc:date>
|
||||
<guid isPermaLink="false">1147894-f5c1965de8509793c0c1bd86e624e99b</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>Coldplay - Adventure of a Lifetime (Audien Remix) [2016-Web-MP3-320]</title>
|
||||
<description>
|
||||
<table id="waffles-rss-t1126256" class="rsstable" border=0 cellspacing=0 cellpadding=10><tr><td>Link: <a href="https://waffles.ch/details.php?id=1126256&#x26;hit=1">Description/Comments Page</a><br/>
|
||||
Genre: Pop<br/>
|
||||
Year: 2016<br/>
|
||||
Size: 9694440<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/download.php/xxx/1126256/Coldplay%20-%20Adventure%20of%20a%20Lifetime%20%28Audien%20Remix%29%20%5B2016-Web-MP3-320%5D.torrent?passkey=123456789&#x26;uid=xxx&#x26;rss=1">Download Torrent</a><br/>
|
||||
Seeders: 0<br/>
|
||||
Leechers: 0<br/>
|
||||
Format: MP3<br/>
|
||||
</td><td>Link: <a href="https://waffles.ch/userdetails.php?id=0">*Anonymous*</a> (Uploader)<br/>
|
||||
Comments: 0<br/>
|
||||
Files: 1<br/>
|
||||
Bitrate: 320<br/>
|
||||
</tr></td></table><br/>
|
||||
Audien remix of Coldplay&#039;s Adventure of a Lifetime
|
||||
</description>
|
||||
<link>https://waffles.ch/download.php/xxx/1126256/Coldplay%20-%20Adventure%20of%20a%20Lifetime%20%28Audien%20Remix%29%20%5B2016-Web-MP3-320%5D.torrent?passkey=123456789&uid=xxx&rss=1</link>
|
||||
<comments>https://waffles.ch/details.php?id=1126256&hit=1</comments>
|
||||
<category>Pop</category>
|
||||
<dc:date>2016-03-06T14:14:39Z</dc:date>
|
||||
<guid isPermaLink="false">1126256-0c99292f358b2d130bf5b3a1180f3606</guid>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using FluentAssertions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.Indexers;
|
||||
using NzbDrone.Core.Indexers.Waffles;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.IndexerTests.WafflesTests
|
||||
{
|
||||
[TestFixture]
|
||||
public class WafflesFixture : CoreTest<Waffles>
|
||||
{
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
Subject.Definition = new IndexerDefinition()
|
||||
{
|
||||
Name = "Waffles",
|
||||
Settings = new WafflesSettings()
|
||||
{
|
||||
UserId = "xxx",
|
||||
RssPasskey = "123456789"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_parse_recent_feed_from_waffles()
|
||||
{
|
||||
var recentFeed = ReadAllText(@"Files/Indexers/Waffles/Waffles.xml");
|
||||
|
||||
Mocker.GetMock<IHttpClient>()
|
||||
.Setup(o => o.Execute(It.Is<HttpRequest>(v => v.Method == HttpMethod.GET)))
|
||||
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), recentFeed));
|
||||
|
||||
var releases = Subject.FetchRecent();
|
||||
|
||||
releases.Should().HaveCount(15);
|
||||
|
||||
var releaseInfo = releases.First();
|
||||
|
||||
releaseInfo.Title.Should().Be("Coldplay - Kaleidoscope EP (FLAC HD) [2017-Web-FLAC-Lossless]");
|
||||
releaseInfo.DownloadProtocol.Should().Be(DownloadProtocol.Torrent);
|
||||
releaseInfo.DownloadUrl.Should().Be("https://waffles.ch/download.php/xxx/1166992/" +
|
||||
"Coldplay%20-%20Kaleidoscope%20EP%20%28FLAC%20HD%29%20%5B2017-Web-FLAC-Lossless%5D.torrent?passkey=123456789&uid=xxx&rss=1");
|
||||
releaseInfo.InfoUrl.Should().Be("https://waffles.ch/details.php?id=1166992&hit=1");
|
||||
releaseInfo.CommentUrl.Should().Be("https://waffles.ch/details.php?id=1166992&hit=1");
|
||||
releaseInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
releaseInfo.PublishDate.Should().Be(DateTime.Parse("2017-07-16 09:51:54"));
|
||||
releaseInfo.Size.Should().Be(552668227);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -275,6 +275,7 @@
|
|||
<Compile Include="IndexerTests\TorrentleechTests\TorrentleechFixture.cs" />
|
||||
<Compile Include="IndexerTests\TorrentRssIndexerTests\TorrentRssIndexerFixture.cs" />
|
||||
<Compile Include="IndexerTests\TorrentRssIndexerTests\TestTorrentRssIndexer.cs" />
|
||||
<Compile Include="IndexerTests\WafflesTests\WafflesFixture.cs" />
|
||||
<Compile Include="IndexerTests\XElementExtensionsFixture.cs" />
|
||||
<Compile Include="Instrumentation\DatabaseTargetFixture.cs" />
|
||||
<Compile Include="JobTests\JobRepositoryFixture.cs" />
|
||||
|
@ -431,6 +432,9 @@
|
|||
<Content Include="Files\Indexers\TorrentRss\LimeTorrents.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Files\Indexers\Waffles\Waffles.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="License.txt" />
|
||||
<None Include="Files\Indexers\BroadcastheNet\RecentFeed.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
|
|
31
src/NzbDrone.Core/Indexers/Waffles/Waffles.cs
Normal file
31
src/NzbDrone.Core/Indexers/Waffles/Waffles.cs
Normal file
|
@ -0,0 +1,31 @@
|
|||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Parser;
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Waffles
|
||||
{
|
||||
public class Waffles : HttpIndexerBase<WafflesSettings>
|
||||
{
|
||||
public override string Name => "Waffles";
|
||||
|
||||
public override DownloadProtocol Protocol => DownloadProtocol.Torrent;
|
||||
public override int PageSize => 15;
|
||||
|
||||
public Waffles(IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
|
||||
: base(httpClient, indexerStatusService, configService, parsingService, logger)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override IIndexerRequestGenerator GetRequestGenerator()
|
||||
{
|
||||
return new WafflesRequestGenerator() { Settings = Settings };
|
||||
}
|
||||
|
||||
public override IParseIndexerResponse GetParser()
|
||||
{
|
||||
return new WafflesRssParser() { ParseSizeInDescription = true, ParseSeedersInDescription = true };
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
using System.Collections.Generic;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Common.Http;
|
||||
using System.Text;
|
||||
using System;
|
||||
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Waffles
|
||||
{
|
||||
public class WafflesRequestGenerator : IIndexerRequestGenerator
|
||||
{
|
||||
public WafflesSettings Settings { get; set; }
|
||||
|
||||
public virtual IndexerPageableRequestChain GetRecentRequests()
|
||||
{
|
||||
var pageableRequests = new IndexerPageableRequestChain();
|
||||
|
||||
pageableRequests.Add(GetPagedRequests(null));
|
||||
|
||||
return pageableRequests;
|
||||
}
|
||||
|
||||
[System.Obsolete("Sonarr TV Stuff -- Shouldn't be needed for Lidarr")]
|
||||
public virtual IndexerPageableRequestChain GetSearchRequests(SingleEpisodeSearchCriteria searchCriteria)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
}
|
||||
|
||||
[System.Obsolete("Sonarr TV Stuff -- Shouldn't be needed for Lidarr")]
|
||||
public virtual IndexerPageableRequestChain GetSearchRequests(SeasonSearchCriteria searchCriteria)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
[System.Obsolete("Sonarr TV Stuff -- Shouldn't be needed for Lidarr")]
|
||||
public virtual IndexerPageableRequestChain GetSearchRequests(DailyEpisodeSearchCriteria searchCriteria)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
[System.Obsolete("Sonarr TV Stuff -- Shouldn't be needed for Lidarr")]
|
||||
public virtual IndexerPageableRequestChain GetSearchRequests(AnimeEpisodeSearchCriteria searchCriteria)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
[System.Obsolete("Sonarr TV Stuff -- Shouldn't be needed for Lidarr")]
|
||||
public virtual IndexerPageableRequestChain GetSearchRequests(SpecialEpisodeSearchCriteria searchCriteria)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IndexerPageableRequestChain GetSearchRequests(AlbumSearchCriteria searchCriteria)
|
||||
{
|
||||
var pageableRequests = new IndexerPageableRequestChain();
|
||||
|
||||
pageableRequests.Add(GetPagedRequests(string.Format("&q=artist:{0} album:{1}",searchCriteria.Artist.Name,searchCriteria.Album.Title)));
|
||||
|
||||
return pageableRequests;
|
||||
}
|
||||
|
||||
public IndexerPageableRequestChain GetSearchRequests(ArtistSearchCriteria searchCriteria)
|
||||
{
|
||||
var pageableRequests = new IndexerPageableRequestChain();
|
||||
|
||||
pageableRequests.Add(GetPagedRequests(string.Format("&q=artist:{0}", searchCriteria.Artist.Name)));
|
||||
|
||||
return pageableRequests;
|
||||
}
|
||||
|
||||
private IEnumerable<IndexerRequest> GetPagedRequests(string query)
|
||||
{
|
||||
|
||||
var url = new StringBuilder();
|
||||
|
||||
url.AppendFormat("{0}/browse.php?rss=1&c0=1&uid={1}&passkey={2}", Settings.BaseUrl.Trim().TrimEnd('/'), Settings.UserId, Settings.RssPasskey);
|
||||
|
||||
if (query.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
url.AppendFormat(query);
|
||||
}
|
||||
|
||||
yield return new IndexerRequest(url.ToString(), HttpAccept.Rss);
|
||||
}
|
||||
}
|
||||
}
|
88
src/NzbDrone.Core/Indexers/Waffles/WafflesRssParser.cs
Normal file
88
src/NzbDrone.Core/Indexers/Waffles/WafflesRssParser.cs
Normal file
|
@ -0,0 +1,88 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Indexers.Exceptions;
|
||||
using NzbDrone.Core.Parser.Model;
|
||||
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Waffles
|
||||
{
|
||||
public class WafflesRssParser : TorrentRssParser
|
||||
{
|
||||
public const string ns = "{http://purl.org/rss/1.0/}";
|
||||
public const string dc = "{http://purl.org/dc/elements/1.1/}";
|
||||
|
||||
protected override bool PreProcess(IndexerResponse indexerResponse)
|
||||
{
|
||||
var xdoc = LoadXmlDocument(indexerResponse);
|
||||
var error = xdoc.Descendants("error").FirstOrDefault();
|
||||
|
||||
if (error == null) return true;
|
||||
|
||||
var code = Convert.ToInt32(error.Attribute("code").Value);
|
||||
var errorMessage = error.Attribute("description").Value;
|
||||
|
||||
if (code >= 100 && code <= 199) throw new ApiKeyException("Invalid Pass key");
|
||||
|
||||
if (!indexerResponse.Request.Url.FullUri.Contains("passkey=") && errorMessage == "Missing parameter")
|
||||
{
|
||||
throw new ApiKeyException("Indexer requires an Pass key");
|
||||
}
|
||||
|
||||
if (errorMessage == "Request limit reached")
|
||||
{
|
||||
throw new RequestLimitReachedException("API limit reached");
|
||||
}
|
||||
|
||||
throw new IndexerException(indexerResponse, errorMessage);
|
||||
}
|
||||
|
||||
protected override ReleaseInfo ProcessItem(XElement item, ReleaseInfo releaseInfo)
|
||||
{
|
||||
var torrentInfo = base.ProcessItem(item, releaseInfo) as TorrentInfo;
|
||||
|
||||
return torrentInfo;
|
||||
}
|
||||
|
||||
protected override string GetInfoUrl(XElement item)
|
||||
{
|
||||
return ParseUrl(item.TryGetValue("comments").TrimEnd("#comments"));
|
||||
}
|
||||
|
||||
protected override string GetCommentUrl(XElement item)
|
||||
{
|
||||
return ParseUrl(item.TryGetValue("comments"));
|
||||
}
|
||||
|
||||
private static readonly Regex ParseSizeRegex = new Regex(@"(?:Size: )(?<value>\d+)<",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
||||
protected override long GetSize(XElement item)
|
||||
{
|
||||
var match = ParseSizeRegex.Matches(item.Element("description").Value);
|
||||
|
||||
if (match.Count != 0)
|
||||
{
|
||||
var value = decimal.Parse(Regex.Replace(match[0].Groups["value"].Value, "\\,", ""), CultureInfo.InvariantCulture);
|
||||
return (long)value;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
protected override DateTime GetPublishDate(XElement item)
|
||||
{
|
||||
var dateString = item.TryGetValue(dc + "date");
|
||||
|
||||
if (dateString.IsNullOrWhiteSpace())
|
||||
{
|
||||
throw new UnsupportedFeedException("Rss feed must have a pubDate element with a valid publish date.");
|
||||
}
|
||||
|
||||
return XElementExtensions.ParseDate(dateString);
|
||||
}
|
||||
}
|
||||
}
|
43
src/NzbDrone.Core/Indexers/Waffles/WafflesSettings.cs
Normal file
43
src/NzbDrone.Core/Indexers/Waffles/WafflesSettings.cs
Normal file
|
@ -0,0 +1,43 @@
|
|||
using System.Text.RegularExpressions;
|
||||
using FluentValidation;
|
||||
using NzbDrone.Core.Annotations;
|
||||
using NzbDrone.Core.ThingiProvider;
|
||||
using NzbDrone.Core.Validation;
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Waffles
|
||||
{
|
||||
public class WafflesSettingsValidator : AbstractValidator<WafflesSettings>
|
||||
{
|
||||
public WafflesSettingsValidator()
|
||||
{
|
||||
RuleFor(c => c.BaseUrl).ValidRootUrl();
|
||||
RuleFor(c => c.UserId).NotEmpty();
|
||||
RuleFor(c => c.RssPasskey).NotEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
public class WafflesSettings : IProviderConfig
|
||||
{
|
||||
private static readonly WafflesSettingsValidator Validator = new WafflesSettingsValidator();
|
||||
|
||||
public WafflesSettings()
|
||||
{
|
||||
BaseUrl = "https://www.waffles.ch";
|
||||
}
|
||||
|
||||
[FieldDefinition(0, Label = "Website URL")]
|
||||
public string BaseUrl { get; set; }
|
||||
|
||||
[FieldDefinition(1, Label = "UserId")]
|
||||
public string UserId { get; set; }
|
||||
|
||||
[FieldDefinition(2, Label = "RSS Passkey")]
|
||||
public string RssPasskey { get; set; }
|
||||
|
||||
|
||||
public NzbDroneValidationResult Validate()
|
||||
{
|
||||
return new NzbDroneValidationResult(Validator.Validate(this));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -611,6 +611,10 @@
|
|||
<Compile Include="IndexerSearch\ArtistSearchService.cs" />
|
||||
<Compile Include="IndexerSearch\Definitions\AlbumSearchCriteria.cs" />
|
||||
<Compile Include="IndexerSearch\Definitions\ArtistSearchCriteria.cs" />
|
||||
<Compile Include="Indexers\Waffles\WafflesRssParser.cs" />
|
||||
<Compile Include="Indexers\Waffles\Waffles.cs" />
|
||||
<Compile Include="Indexers\Waffles\WafflesRequestGenerator.cs" />
|
||||
<Compile Include="Indexers\Waffles\WafflesSettings.cs" />
|
||||
<Compile Include="Indexers\BitMeTv\BitMeTv.cs" />
|
||||
<Compile Include="Indexers\BitMeTv\BitMeTvSettings.cs" />
|
||||
<Compile Include="Indexers\BitMeTv\BitMeTvRequestGenerator.cs" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue