aboutsummaryrefslogtreecommitdiff
path: root/addons/metadata.tvdb.com
diff options
context:
space:
mode:
authorjmarshallnz <jmarshallnz@svn>2010-04-28 00:05:22 +0000
committerjmarshallnz <jmarshallnz@svn>2010-04-28 00:05:22 +0000
commit81d4a149d54d3b79f0449dad77264c642469f10d (patch)
tree39fabba02bee35f87b2cec1c149872f0719f5f79 /addons/metadata.tvdb.com
parentd9e6ddf42d0d2787a93eaec8706e26a90d931f41 (diff)
changed: paint the (system) addons bikeshed (moves - id's to come)
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@29568 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
Diffstat (limited to 'addons/metadata.tvdb.com')
-rw-r--r--addons/metadata.tvdb.com/default.tbnbin0 -> 3932 bytes
-rw-r--r--addons/metadata.tvdb.com/description.xml22
-rw-r--r--addons/metadata.tvdb.com/tvdb.xml296
3 files changed, 318 insertions, 0 deletions
diff --git a/addons/metadata.tvdb.com/default.tbn b/addons/metadata.tvdb.com/default.tbn
new file mode 100644
index 0000000000..36c48cdbb6
--- /dev/null
+++ b/addons/metadata.tvdb.com/default.tbn
Binary files differ
diff --git a/addons/metadata.tvdb.com/description.xml b/addons/metadata.tvdb.com/description.xml
new file mode 100644
index 0000000000..c52bac75b6
--- /dev/null
+++ b/addons/metadata.tvdb.com/description.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addoninfo>
+ <id>com.tvdb.scraper</id>
+ <type>scraper</type>
+ <title>TVDB</title>
+ <library>tvdb.xml</library>
+ <version>1.0.0</version>
+ <platforms>
+ <platform>all</platform>
+ </platforms>
+ <minversion>
+ <xbmc>20000</xbmc>
+ </minversion>
+ <summary>TV show scraper</summary>
+ <description>TheTVDB.com is a TV Scraper. The site is a massive open database that can be modified by anybody and contains full meta data for many shows in different languages. All content and images on the site have been contributed by their users for users and have a high standard or quality. The database schema and website are open source under the GPL</description>
+ <author>Team XBMC</author>
+ <dependencies>
+ </dependencies>
+ <supportedcontent>
+ <content>tvshows</content>
+ </supportedcontent>
+</addoninfo>
diff --git a/addons/metadata.tvdb.com/tvdb.xml b/addons/metadata.tvdb.com/tvdb.xml
new file mode 100644
index 0000000000..3abf447af3
--- /dev/null
+++ b/addons/metadata.tvdb.com/tvdb.xml
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- should be self-explanatory -->
+<scraper framework="1.1" date="2009-01-27" name="TheTVDB.com" content="tvshows" thumb="tvdb.png" language="multi" cachePersistence="00:15">
+ <GetSettings dest="3">
+ <RegExp input="$$5" output="&lt;settings&gt;\1&lt;/settings&gt;" dest="3">
+ <RegExp input="$$1" output="&lt;url function=&quot;GetLanguages&quot;&gt;http://www.thetvdb.com/api/1D62F2F90030C444/languages.xml&lt;/url&gt;" dest="5">
+ <expression/>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;setting label=&quot;Use DVD Order&quot; type=&quot;bool&quot; id=&quot;dvdorder&quot; default=&quot;false&quot; enable=&quot;!eq(1,true)&quot;&gt;&lt;/setting&gt;" dest="5+">
+ <expression/>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;setting label=&quot;Use Absolute Ordering (Single Season)&quot; type=&quot;bool&quot; id=&quot;absolutenumber&quot; default=&quot;false&quot; enable=&quot;!eq(-1,true)&quot;&gt;&lt;/setting&gt;" dest="5+">
+ <expression/>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;setting type=&quot;sep&quot;&gt;&lt;/setting&gt;" dest="5+">
+ <expression/>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;setting label=&quot;Enable Fanart&quot; type=&quot;bool&quot; id=&quot;fanart&quot; default=&quot;true&quot;&gt;&lt;/setting&gt;" dest="5+">
+ <expression/>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;setting label=&quot;Prefer Posters&quot; type=&quot;bool&quot; id=&quot;posters&quot; default=&quot;false&quot;&gt;&lt;/setting&gt;" dest="5+">
+ <expression/>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;setting type=&quot;sep&quot;&gt;&lt;/setting&gt;" dest="5+">
+ <expression/>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </GetSettings>
+
+ <NfoUrl dest="3">
+ <RegExp input="$$1" output="&lt;url cache=&quot;\1.xml&quot;&gt;http://www.thetvdb.com/api/1D62F2F90030C444/series/\1/all/$INFO[language].zip&lt;/url&gt;&lt;id&gt;\1&lt;/id&gt;" dest="3">
+ <expression>http://(?:www\.)?thetvdb.com/(?:index\.php)?\?tab=series&amp;id=([0-9]+)</expression>
+ </RegExp>
+ </NfoUrl>
+
+ <EpisodeGuideUrl dest="3">
+ <RegExp input="$$1" output="\1" dest="3">
+ <expression>(.*?http://www.thetvdb.com.*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="\1" dest="3">
+ <expression>(.*?http://thetvdb.com.*)</expression>
+ </RegExp>
+ </EpisodeGuideUrl>
+
+ <!-- input: $1=query string -->
+ <!-- returns: the url we should use to do the search -->
+ <CreateSearchUrl dest="3">
+ <RegExp input="$$1" output="http://www.thetvdb.com/api/GetSeries.php?seriesname=\1$$4&amp;language=$INFO[language]" dest="3">
+ <RegExp input="$$2" output="%20(\1)" dest="4">
+ <expression clear="yes">(.+)</expression>
+ </RegExp>
+ <expression/>
+ </RegExp>
+ </CreateSearchUrl>
+
+ <!-- input: $1=html $2=search query -->
+ <!-- returns: results in xml format <results><movie><title>*</title><url>*</url>*#urls<extra>*</extra></movie>*</results> -->
+ <GetSearchResults dest="1">
+ <RegExp output="\1" dest="3">
+ <expression noclean="1">&lt;Data&gt;(.*)&lt;/Data&gt;</expression>
+ </RegExp>
+ <RegExp input="$$4" output="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;&lt;results&gt;\1&lt;/results&gt;" dest="1">
+ <RegExp input="$$3" output="&lt;entity&gt;&lt;title&gt;\3&lt;/title&gt;&lt;language&gt;\2&lt;/language&gt;&lt;url cache=&quot;\1.xml&quot;&gt;http://www.thetvdb.com/api/1D62F2F90030C444/series/\1/all/\2.zip&lt;/url&gt;&lt;id&gt;\1&lt;/id&gt;&lt;/entity&gt;" dest="4">
+ <expression repeat="yes">&lt;seriesid&gt;([0-9]*)&lt;/seriesid&gt;[^&lt;]*&lt;language&gt;([^&lt;]*)&lt;/language&gt;[^&lt;]*&lt;SeriesName&gt;([^&lt;]*)&lt;/SeriesName&gt;</expression>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </GetSearchResults>
+
+ <!-- input: $1..#urls=html -->
+ <!-- input: $(#urls+1): extra !-->
+ <!-- returns: results in xml format <details><plot>*</plot><director>*</director><premiered>*</premiered><episodeguide>*</episodeguide></details> -->
+ <GetDetails dest="7">
+ <RegExp input="$$4" output="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;&lt;details&gt;\1&lt;/details&gt;" dest="7">
+ <RegExp input="$$1" output="\1" dest="5">
+ <expression noclean="1">&lt;Series&gt;.*?&lt;id&gt;$$2&lt;/id&gt;(.*)</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="4">
+ <expression noclean="1">&lt;Overview&gt;([^&lt;]*)&lt;/Overview&gt;</expression>
+ </RegExp>
+ <RegExp input="$$2" output="&lt;id&gt;\1&lt;/id&gt;" dest="4+">
+ <expression/>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;mpaa&gt;\1&lt;/mpaa&gt;" dest="4+">
+ <expression>&lt;ContentRating&gt;([^&lt;]*)&lt;/ContentRating&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;premiered&gt;\1&lt;/premiered&gt;" dest="4+">
+ <expression>&lt;FirstAired&gt;([^&lt;]*)&lt;/FirstAired&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="4+">
+ <expression>&lt;Rating&gt;([^&lt;]*)&lt;/Rating&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;studio&gt;\1&lt;/studio&gt;" dest="4+">
+ <expression>&lt;Network&gt;([^&lt;]*)&lt;/Network&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;title&gt;\1&lt;/title&gt;" dest="4+">
+ <expression>&lt;SeriesName&gt;([^&lt;]*)&lt;/SeriesName&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="\1" dest="10">
+ <expression noclean="1">&lt;Genre&gt;([^&lt;]*)&lt;/Genre&gt;</expression>
+ </RegExp>
+ <RegExp input="$$10" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="4+">
+ <expression repeat="yes">([^\|]*)\|</expression>
+ </RegExp>
+ <RegExp input="$$10" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="4+">
+ <expression repeat="yes">([^,]*),</expression>
+ </RegExp>
+ <RegExp input="$$10" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="4+">
+ <expression>([^\|,]+)$</expression>
+ </RegExp>
+ <!-- actors with thumbs -->
+ <RegExp input="$$5" output="&lt;actor&gt;&lt;name&gt;\2&lt;/name&gt;&lt;role&gt;\3&lt;/role&gt;&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;&lt;/actor&gt;" dest="4+">
+ <expression repeat="yes" noclean="1,2,3">&lt;Actor&gt;.*?&lt;Image&gt;([^&lt;]+)&lt;/Image&gt;.*?&lt;Name&gt;([^&lt;]*)&lt;/Name&gt;.*?&lt;Role&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <!-- actors without thumbs -->
+ <RegExp input="$$5" output="&lt;actor&gt;&lt;name&gt;\2&lt;/name&gt;&lt;role&gt;\3&lt;/role&gt;&lt;/actor&gt;" dest="4+">
+ <expression repeat="yes" noclean="1,2,3">&lt;Actor&gt;.*?&lt;Image&gt;([^&lt;]*)&lt;/Image&gt;.*?&lt;Name&gt;([^&lt;]*)&lt;/Name&gt;.*?&lt;Role&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp conditional="posters" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;poster&lt;/BannerType&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;graphical&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;graphical&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;[a-z][^$INFO[language]]*&lt;/Language&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;text&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;text&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;[a-z][^$INFO[language]]*&lt;/Language&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;blank&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;&lt;/Language&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb type=&quot;season&quot; season=&quot;\2&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;season&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;[^&lt;]*&lt;Season&gt;([0-9]+)&lt;/Season&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb type=&quot;season&quot; season=&quot;\2&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;season&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;[a-z][^$INFO[language]]*&lt;/Language&gt;[^&lt;]*&lt;Season&gt;([0-9]+)&lt;/Season&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb type=&quot;season&quot; season=&quot;\2&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;seasonwide&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;[^&lt;]*&lt;Season&gt;([0-9]+)&lt;/Season&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb type=&quot;season&quot; season=&quot;\2&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;seasonwide&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;[a-z][^$INFO[language]]*&lt;/Language&gt;[^&lt;]*&lt;Season&gt;([0-9]+)&lt;/Season&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" conditional="!posters" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;poster&lt;/BannerType&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb type=&quot;season&quot; season=&quot;-1&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;poster&lt;/BannerType&gt;</expression>
+ </RegExp>
+ <RegExp conditional="fanart" input="$$7" output="&lt;fanart url=&quot;http://thetvdb.com/banners/&quot;&gt;\1&lt;/fanart&gt;" dest="4+">
+ <RegExp input="$$5" output="&lt;thumb dim=&quot;\2&quot; colors=&quot;\3&quot; preview=&quot;_cache/\1&quot;&gt;\1&lt;/thumb&gt;" dest="7+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;fanart&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;([^&lt;]*)&lt;/BannerType2&gt;[^&lt;]*&lt;Colors&gt;([^&lt;]*)&lt;/Colors&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;</expression>
+ </RegExp>
+ <RegExp input="$$5" output="&lt;thumb dim=&quot;\2&quot; colors=&quot;\3&quot; preview=&quot;_cache/\1&quot;&gt;\1&lt;/thumb&gt;" dest="7+">
+ <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;fanart&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;([^&lt;]*)&lt;/BannerType2&gt;[^&lt;]*&lt;Colors&gt;([^&lt;]*)&lt;/Colors&gt;[^&lt;]*&lt;Language&gt;[a-z][^$INFO[language]]*&lt;/Language&gt;</expression>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ <RegExp input="$$2" output="&lt;episodeguide&gt;&lt;url cache=&quot;$$2.xml&quot;&gt;http://www.thetvdb.com/api/1D62F2F90030C444/series/\1/all/$INFO[language].zip&lt;/url&gt;&lt;/episodeguide&gt;" dest="4+">
+ <expression/>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </GetDetails>
+
+ <!-- input: $1=html !-->
+ <!-- input: $2=series url !-->
+ <!-- returns: results in xml format <episodeguide><episode><title>*</title><url>*</url><season>*</season><epnum>*</epnum><thumb>*</thumb><id>*</id><aired>*</aired></episode>*</episodeguide> !-->
+ <GetEpisodeList dest="3">
+ <RegExp input="$$4" output="&lt;episodeguide&gt;\1&lt;/episodeguide&gt;" dest="3">
+ <RegExp input="$$2" output="\1" dest="10">
+ <expression>http://www.thetvdb.com/api/1D62F2F90030C444/series/([0-9]*)/all/$INFO[language].zip</expression>
+ </RegExp>
+ <RegExp conditional="!dvdorder">
+ <!-- Regular episodes (Absolute order) -->
+ <RegExp conditional="absolutenumber" input="$$1" output="&lt;episode&gt;&lt;id&gt;\1&lt;/id&gt;&lt;title&gt;\2&lt;/title&gt;&lt;aired&gt;\3&lt;/aired&gt;&lt;epnum&gt;\4&lt;/epnum&gt;&lt;season&gt;1&lt;/season&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;/episode&gt;" dest="4+">
+ <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]*).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;FirstAired&gt;([^&lt;]*).*?&lt;absolute_number&gt;([0-9]*).*?&lt;/Episode&gt;</expression>
+ </RegExp>
+ <!-- Specials (Absolute order) -->
+ <RegExp conditional="absolutenumber" input="$$1" output="&lt;episode&gt;&lt;id&gt;\1&lt;/id&gt;&lt;title&gt;\2&lt;/title&gt;&lt;aired&gt;\4&lt;/aired&gt;&lt;epnum&gt;\3&lt;/epnum&gt;&lt;season&gt;0&lt;/season&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;/episode&gt;" dest="4+">
+ <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]*).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;EpisodeNumber&gt;([0-9]*).*?&lt;FirstAired&gt;([^&lt;]*).*?&lt;SeasonNumber&gt;0&lt;/SeasonNumber&gt;.*?&lt;/Episode&gt;</expression>
+ </RegExp>
+ <!-- Normal episodes -->
+ <RegExp conditional="!absolutenumber" input="$$1" output="&lt;episode&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;epnum&gt;\3&lt;/epnum&gt;&lt;season&gt;\5&lt;/season&gt;&lt;id&gt;\1&lt;/id&gt;&lt;aired&gt;\4&lt;/aired&gt;&lt;/episode&gt;" dest="4">
+ <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]+).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;EpisodeNumber&gt;([0-9]+)[^&lt;]*.*?&lt;FirstAired&gt;([^&lt;]*)&lt;/FirstAired&gt;.*?&lt;SeasonNumber&gt;([0-9]+)[^&lt;]*.*?&lt;/Episode&gt;</expression>
+ </RegExp>
+ </RegExp>
+ <!-- DVD order -->
+ <RegExp conditional="dvdorder" input="$$1" output="&lt;episode&gt;&lt;title&gt;\4&lt;/title&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;epnum&gt;\2&lt;/epnum&gt;&lt;season&gt;\3&lt;/season&gt;&lt;id&gt;\1&lt;/id&gt;&lt;aired&gt;\5&lt;/aired&gt;&lt;/episode&gt;" dest="4">
+ <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]+).*?&lt;Combined_episodenumber&gt;([0-9]+).*?&lt;Combined_season&gt;([0-9]+).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;FirstAired&gt;([^&lt;]*)&lt;/FirstAired&gt;.*?&lt;/Episode&gt;</expression>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </GetEpisodeList>
+
+ <!-- input: $1=html -->
+ <!-- returns: results in xml format <details><writer>*</writer><director>*</director><cast>*</cast><rating>*</rating><rank>*</rank><plot>*</plot> -->
+ <GetEpisodeDetails dest="3">
+ <RegExp input="$$4" output="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;&lt;details&gt;\1&lt;/details&gt;" dest="3">
+ <RegExp input="$$1" output="\1" dest="8">
+ <expression noclean="1">&lt;Episode&gt;.*?&lt;id&gt;$$2&lt;/id&gt;(.*?)&lt;/Episode&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="4">
+ <expression>&lt;Overview&gt;([^&lt;]*)&lt;/Overview&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="\1" dest="6">
+ <expression noclean="1">&lt;Writer&gt;([^&lt;]*)&lt;/Writer&gt;</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="4+">
+ <expression repeat="yes">([^\|]*)\|</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="4+">
+ <expression repeat="yes">([^,]*),</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="4+">
+ <expression>([^\|,]+)$</expression>
+ </RegExp>
+ <RegExp input="$$8" output="\1" dest="6">
+ <expression noclean="1">&lt;Director&gt;([^&lt;]*)&lt;/Director&gt;</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="4+">
+ <expression repeat="yes">([^\|]*)\|</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="4+">
+ <expression repeat="yes">([^,]*),</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="4+">
+ <expression>([^\|,]+)$</expression>
+ </RegExp>
+ <RegExp input="$$8" output="\1" dest="6">
+ <expression noclean="1">&lt;GuestStars&gt;([^&lt;]*)&lt;/GuestStars&gt;</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;/actor&gt;" dest="4+">
+ <expression repeat="yes">([^\|]*)\|</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;/actor&gt;" dest="4+">
+ <expression repeat="yes">([^,]*),</expression>
+ </RegExp>
+ <RegExp input="$$6" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;/actor&gt;" dest="4+">
+ <expression>([^\|,]+)$</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;title&gt;\1&lt;/title&gt;" dest="4+">
+ <expression>&lt;EpisodeName&gt;([^&lt;]*)&lt;/EpisodeName&gt;</expression>
+ </RegExp>
+ <!-- Regular Episodes - Absolute Order -->
+ <RegExp conditional="absolutenumber" input="$$8" output="&lt;season&gt;1&lt;/season&gt;&lt;episode&gt;\2&lt;/episode&gt;" dest="4+">
+ <expression>&lt;SeasonNumber&gt;([1-9]*)&lt;/SeasonNumber&gt;.*?&lt;absolute_number&gt;([0-9]*)&lt;/absolute_number&gt;</expression>
+ </RegExp>
+ <!-- Specials - Absolute Order -->
+ <RegExp conditional="absolutenumber" input="$$8" output="&lt;season&gt;0&lt;/season&gt;&lt;episode&gt;\1&lt;/episode&gt;" dest="4+">
+ <expression>&lt;EpisodeNumber&gt;([0-9]*)&lt;/EpisodeNumber&gt;.*?&lt;SeasonNumber&gt;0&lt;/SeasonNumber&gt;</expression>
+ </RegExp>
+ <!-- Normal Season/Episodes -->
+ <RegExp conditional="!absolutenumber" input="$$8" output="&lt;season&gt;\1&lt;/season&gt;" dest="4+">
+ <expression>&lt;SeasonNumber&gt;([^&lt;]*)&lt;/SeasonNumber&gt;</expression>
+ </RegExp>
+ <RegExp conditional="!absolutenumber" input="$$8" output="&lt;episode&gt;\1&lt;/episode&gt;" dest="4+">
+ <expression>&lt;EpisodeNumber&gt;([^&lt;]*)&lt;/EpisodeNumber&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
+ <expression>&lt;filename&gt;([^&lt;]+)&lt;/filename&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;aired&gt;\1&lt;/aired&gt;" dest="4+">
+ <expression>&lt;FirstAired&gt;([^&lt;]+)&lt;/FirstAired&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;displayseason&gt;\1&lt;/displayseason&gt;" dest="4+">
+ <expression>&lt;airsbefore_season&gt;([^&lt;]+)&lt;/airsbefore_season&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;displayepisode&gt;\1&lt;/displayepisode&gt;" dest="4+">
+ <expression>&lt;airsbefore_episode&gt;([^&lt;]+)&lt;/airsbefore_episode&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;displayafterseason&gt;\1&lt;/displayafterseason&gt;" dest="4+">
+ <expression>&lt;airsafter_season&gt;([^&lt;]+)&lt;/airsafter_season&gt;</expression>
+ </RegExp>
+ <RegExp input="$$8" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="4+">
+ <expression>&lt;Rating&gt;([^&lt;]+)&lt;/Rating&gt;</expression>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </GetEpisodeDetails>
+
+ <GetLanguages dest="3">
+ <RegExp input="$$2" output="&lt;settings&gt;&lt;setting label=&quot;Language&quot; type=&quot;labelenum&quot; id=&quot;language&quot; values=&quot;$$8&quot; sort=&quot;yes&quot; default=&quot;en&quot;&gt;&lt;/setting&gt;&lt;/settings&gt;" dest="3">
+ <RegExp input="$$1" output="\1|" dest="8+">
+ <expression repeat="yes">&lt;abbreviation&gt;([^&lt;]*)&lt;/abbreviation&gt;</expression>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </GetLanguages>
+</scraper>