Talk:Advancedsettings.xml: Difference between revisions
>Sbonds (New page: This forum user has come up with a very comprehensive regex for matching TV shows: http://forum.xbmc.org/showpost.php?p=347183&postcount=4 By default, XBMC's matching leaves much to...) |
>Sbonds (Updated with most recent version) |
||
Line 1: | Line 1: | ||
This forum user has come up with a very comprehensive regex for matching TV shows: | This forum user has come up with a very comprehensive regex for matching TV shows: | ||
http://forum.xbmc.org/showpost.php?p=347183&postcount= | http://forum.xbmc.org/showpost.php?p=347183&postcount=17 | ||
By default, XBMC's matching leaves much to be desired. Should this example be included in the main page? | By default, XBMC's matching leaves much to be desired. Should this example be included in the main page? | ||
<!-- | |||
######################################################################################## | |||
V0.1 - 05/05/2009 | |||
Initial Upload | |||
V0.2 - 08/05/2009 | |||
TPZ matches now require season folder. Fixes some false positives. | |||
V0.3 - 16/05/2009 | |||
Support for /season 5/Lost - 5 x 05.mkv | |||
V0.4 - 28/05/2009 | |||
Cater for cross platform difference in paths i.e. \/ | |||
V0.5 - 03/06/2009 | |||
Added regex to match some awful TV naming that has no season. | |||
This release marks 99% completion rate of google scraped XBMC missed eps (10,000+ ). | |||
The last regex in the list and may product false positives. Use with caution. | |||
V0.6 - 06/06/2009 | |||
New component. Commonly missed movie stacking REGEX. | |||
Big caveat, will NOT fix movies already in the library. | |||
To fix completely remove the multiple movie entries and rescan. | |||
V0.7 - 08/06/2009 | |||
Added excludefromscan section. Do not catalog anything in a folder called extras. | |||
Using the expected TV folder naming structure still allows the TV show "Extras". | |||
Note: This does not work for me but does for other users. Please report back your experiences. | |||
######################################################################################## | |||
--> | V0.8 - 10/06/2009 | ||
After a IRC discussion with cptspiff and mgc I release this version to cater for | |||
TOPAZ releases but with NO REQUIRED FOLDER STRUCTURE. | |||
This should also handle Topaz which are still in rar format. | |||
Please report back on success as I am working only from data scraped from google. | |||
V0.9 - 28/06/2009 | |||
Default XBMC REGEX producing false positives with TPZ. | |||
To deal with this we now have both prepend and append REGEX. | |||
V1.0 - 30/10/2009 | |||
Replaced some of the stacking regex removed in commit 24060. WARNING this may break serials support. | |||
In general I am not happy with this new REGEX and it needs more work. | |||
This file also includes some general XBMC settings I use. | |||
It would be beter if i didnt include these settings but doing so makes it easier for me. | |||
Delete them if they are not to your taste. | |||
V1.1 - 11/11/2009 | |||
General cleanup in preparation for pastebin. | |||
####################################################################################### | |||
This REGEX is EXPERIMENTAL and may require a strict folder structure. | |||
*Use at your own risk* | |||
I specifically use multiple REGEX rather than try to build one REGEX to rule them all. | |||
This wastes CPU cycles but allows easier bug finding, refining and end user understanding. | |||
The order they run is important. It will never catch all episodes. | |||
Since were trying to deal with bad naming it could result in false positives. | |||
Comments and submissions welcomed but where posible try to keep it simple. | |||
If in doubt use two simple REGEX rather than one complex one. | |||
######################################################################################## | |||
######################################################################################## | |||
To install this REGEX create a text file called advancedsettings.xml | |||
Copy the contents of this into this file and place it in the Userdata folder | |||
Restart XBMC | |||
or | |||
Download this file from pastebin and rename to advancedsettings.xml | |||
######################################################################################## | |||
--> | |||
<advancedsettings> | |||
<!-- | |||
####################################################################################### | |||
This section can likely be removed. Personal preferences. | |||
####################################################################################### | |||
--> | |||
<navigatevirtualkeyboard>true</navigatevirtualkeyboard> <!-- This will activate virtual keyboard navigation, default is false --> | |||
<videolibrary> | |||
<hideallitems>true</hideallitems> <!-- removes the "*All" items from the video library --> | |||
<hideemptyseries>false</hideemptyseries> <!-- hide empty series in the video library --> | |||
<hiderecentlyaddeditems>false</hiderecentlyaddeditems> <!-- removes the "Recently added ..." items from the video library. --> | |||
<recentlyaddeditems>100</recentlyaddeditems> <!-- number of recently added items. Defaults to 25 --> | |||
</videolibrary> | |||
<!-- | |||
####################################################################################### | |||
XBMC catches a few files incorrectly so we will catch them first. | |||
####################################################################################### | |||
--> | |||
<tvshowmatching action="prepend"> | |||
<!-- File name format: tzp-SPECIFICSHOW12324.avi This attempts to cater for some show specific odditys --> | |||
<regexp>[/\\]tpz-(?:24|30rock|4400)(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> | |||
<!-- File name format: tzp-show12324.avi --> | |||
<regexp>[/\\]tpz-[^\d]*(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> | |||
</tvshowmatching> | |||
<!-- | |||
####################################################################################### | |||
This section uses a traditional file only based approach and catches some common names | |||
####################################################################################### | |||
--> | |||
<tvshowmatching action="append"> | |||
<!-- File name format: frng101-notv.avi --> | |||
<regexp>[.a-z](\d\d?)(\d\d)-notv([^/\\]*)</regexp> | |||
<!-- | |||
####################################################################################### | ####################################################################################### | ||
This section uses a traditional file only based approach and | This section uses a traditional file only based approach and attempts to cater for | ||
ultra lame TPZ Topaz naming scheme. | |||
This has been tested offline against 1031 googled sample filenames with 1023 matches. | |||
The remaining dont match as they dont follow their own naming convention. | |||
The order they run in is VITAL. Do not run one without the other. | |||
####################################################################################### | ####################################################################################### | ||
--> | --> | ||
<!-- File name format: tzp-SPECIFICSHOW12324.avi This attempts to cater for some odditys --> | |||
<regexp>[/\\]tpz-(?:24|30rock|4400)(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> | |||
<!-- File name format: | <!-- File name format: tzp-show12324.avi --> | ||
<regexp>[ | <regexp>[/\\]tpz-[^\d]*(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> | ||
<!-- | <!-- | ||
####################################################################################### | ####################################################################################### | ||
This section takes the season number from the folder name and ep number from video file | This section takes the season number from the folder name and ep number from video file | ||
For best results use tvshow.nfo method along with show/season x/episodes | For best results use the tvshow.nfo method along with show/season x/episodes | ||
####################################################################################### | ####################################################################################### | ||
--> | --> | ||
<!-- File name format: /UFO/Season 1/02.Computer.Affair.divx e.g. lame sequntial numbering witout season --> | <!-- File name format: /UFO/Season 1/02.Computer.Affair.divx e.g. lame sequntial numbering witout season --> | ||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\](\d\d?)[^\w]([^/\\]*)</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\](\d\d?)[^\w]([^/\\]*)</regexp> | ||
<!-- File name format: /Ulysses 31/Season 1/Ulysses 31 E12 Trapped Between Fire And Ice.avi e.g. lame sequntial numbering witout season --> | <!-- File name format: /Ulysses 31/Season 1/Ulysses 31 E12 Trapped Between Fire And Ice.avi e.g. lame sequntial numbering witout season --> | ||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]ep?\.?(\d\d?)[^\w]([^/\\]*)</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]ep?\.?(\d\d?)[^\w]([^/\\]*)</regexp> | ||
<!-- File name format: /The Chronicles of Narnia/Season 1/Chronicles.Of.Narnia.01.The.Lion.The.Witch.And.The.Wardrobe.episode.6.DVDRip.DivX-moviesfreak.avi --> | <!-- File name format: /The Chronicles of Narnia/Season 1/Chronicles.Of.Narnia.01.The.Lion.The.Witch.And.The.Wardrobe.episode.6.DVDRip.DivX-moviesfreak.avi --> | ||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]episode[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]episode[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> | ||
Line 68: | Line 155: | ||
<!-- File name format: /When We Left Earth The NASA Missions/Season 1/when.we.left.earth.the.nasa.missions.part.3.hdtv.xvid-fqm.avi --> | <!-- File name format: /When We Left Earth The NASA Missions/Season 1/when.we.left.earth.the.nasa.missions.part.3.hdtv.xvid-fqm.avi --> | ||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]part[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]part[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> | ||
<!-- File name format: /The Young Indiana Jones Chronicles/Season 1/The.Young.Indiana.Jones.Chronicles.Chapter.01.My.First.Adventure.DVDRip.XviD-SAiNTS.avi --> | <!-- File name format: /The Young Indiana Jones Chronicles/Season 1/The.Young.Indiana.Jones.Chronicles.Chapter.01.My.First.Adventure.DVDRip.XviD-SAiNTS.avi --> | ||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]chapter[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]chapter[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> | ||
<!-- File name format: /Action/Season 1/Action101 Pilot.avi --> | <!-- File name format: /Action/Season 1/Action101 Pilot.avi --> | ||
<!-- Last (?!.*]) to deal with anime numbering producing false positives. not a perfect solution --> | <!-- Last (?!.*]) to deal with anime numbering producing false positives. not a perfect solution --> | ||
Line 78: | Line 165: | ||
<!-- File name format: /season 5/Lost - 5 x 05.mkv --> | <!-- File name format: /season 5/Lost - 5 x 05.mkv --> | ||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?\1[^\w]?x[^\w]?(\d\d?)([^/\\]*)</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?\1[^\w]?x[^\w]?(\d\d?)([^/\\]*)</regexp> | ||
<!-- File name format: /Season 1/Grange Hill S01xE01.avi --> | <!-- File name format: /Season 1/Grange Hill S01xE01.avi --> | ||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?s0?\1[ex]{0,2}(\d{1,2})([^/\\]*)</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?s0?\1[ex]{0,2}(\d{1,2})([^/\\]*)</regexp> | ||
<!-- File name format: /Season 1/the_scene_xvid_episode_8.avi | <!-- File name format: /Season 1/the_scene_xvid_episode_8.avi | ||
This REGEX has huge potential for false positives but catches alot of the left over dross. | |||
Suggest commenting it out if you are unsure --> | |||
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\][^\d]+[\. _-](\d{1,2})[\. _-][^\d]+</regexp> | <regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\][^\d]+[\. _-](\d{1,2})[\. _-][^\d]+</regexp> | ||
</tvshowmatching> | |||
<!-- | |||
####################################################################################### | |||
Movie Stacking | |||
Caters for a few edge cases of well known movie format XBMC misses. | |||
####################################################################################### | |||
--> | |||
<moviestacking action="append"> | |||
<regexp>done[ _\.-](\d)[ _\.-]</regexp> | |||
<!-- | |||
####################################################################################### | |||
This section replaces some of the stacking regex removed in commit 24060. | |||
WARNING this may break serials support. | |||
####################################################################################### | |||
--> | |||
<regexp>[ ._-]+(0?[a-c1-3])[ ._-]([^/\\]*)</regexp> | |||
<regexp>(?<!\d)(\d\d?)\.\w{3,4}$</regexp> | |||
</moviestacking> | |||
<!-- | |||
####################################################################################### | |||
Extras folder | |||
Should stop XBMC indexing anything in a folder called extras whilst still allowing | |||
the real tv show "Extras" to exist. Probably requires a strict folder structure. | |||
Should be relatively safe for any XBMC user to add. | |||
####################################################################################### | |||
--> | |||
<video> | |||
<excludefromscan action="append"> | |||
<regexp>[/\\]extras[/\\](?!season)</regexp> | |||
</excludefromscan> | |||
</video> | |||
</advancedsettings> | </advancedsettings> | ||
Revision as of 13:44, 14 November 2009
This forum user has come up with a very comprehensive regex for matching TV shows:
http://forum.xbmc.org/showpost.php?p=347183&postcount=17
By default, XBMC's matching leaves much to be desired. Should this example be included in the main page?
<advancedsettings>
<navigatevirtualkeyboard>true</navigatevirtualkeyboard>
<videolibrary> <hideallitems>true</hideallitems> <hideemptyseries>false</hideemptyseries> <hiderecentlyaddeditems>false</hiderecentlyaddeditems> <recentlyaddeditems>100</recentlyaddeditems> </videolibrary>
<tvshowmatching action="prepend">
<regexp>[/\\]tpz-(?:24|30rock|4400)(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp>
<regexp>[/\\]tpz-[^\d]*(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp>
</tvshowmatching>
<tvshowmatching action="append">
<regexp>[.a-z](\d\d?)(\d\d)-notv([^/\\]*)</regexp>
<regexp>[/\\]tpz-(?:24|30rock|4400)(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp>
<regexp>[/\\]tpz-[^\d]*(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\](\d\d?)[^\w]([^/\\]*)</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]ep?\.?(\d\d?)[^\w]([^/\\]*)</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]episode[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]part[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]chapter[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?\1(\d\d)(?!.*])</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?\1[^\w]?x[^\w]?(\d\d?)([^/\\]*)</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?s0?\1[ex]{0,2}(\d{1,2})([^/\\]*)</regexp>
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\][^\d]+[\. _-](\d{1,2})[\. _-][^\d]+</regexp>
</tvshowmatching>
<moviestacking action="append">
<regexp>done[ _\.-](\d)[ _\.-]</regexp>
<regexp>[ ._-]+(0?[a-c1-3])[ ._-]([^/\\]*)</regexp> <regexp>(?<!\d)(\d\d?)\.\w{3,4}$</regexp> </moviestacking>
<video>
<excludefromscan action="append">
<regexp>[/\\]extras[/\\](?!season)</regexp>
</excludefromscan>
</video>
</advancedsettings>