Talk:Advancedsettings.xml: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>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=4
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?


<pre>
<!--  
<advancedsettings> 
########################################################################################
  <tvshowmatching append="yes">
V0.1 - 05/05/2009
 
Initial Upload
<!--  
 
########################################################################################
V0.2 - 08/05/2009
V0.1 - 05/05/2009 - Initial Upload
TPZ matches now require season folder. Fixes some false positives.
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.3 - 16/05/2009
V0.4 - 28/05/2009 - Cater for cross platform difference in paths \/
Support for /season 5/Lost - 5 x 05.mkv
V0.5 - 03/06/2009 - Added in regex to match some awfulTV naming that has no season.
 
This release marks 99% complete of the google scraped 10,000+ missed eps by XBMC default.
V0.4 - 28/05/2009
This will always be the last regex in the list and may product false positives.  
Cater for cross platform difference in paths i.e. \/
Use with care.
 
V0.6 - 06/06/2009 - New component. Commonly missed movie stacking REGEX.
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+ ).
This REGEX is EXPERIMENTAL and may in places require a strict folder structure.
The last regex in the list and may product false positives. Use with caution.
Use at your own risk.
 
I specifically uses multiple REGEX rather than try to build one REGEX to rule the all.
V0.6 - 06/06/2009
This wastes CPU cycles but allows easier bug finding, refining and end user understanding  
New component. Commonly missed movie stacking REGEX.
The order they run is important. It will never catch all episodes.
Big caveat, will NOT fix movies already in the library.
Since were trying to deal with bad naming it could result in false positives.
To fix completely remove the multiple movie entries and rescan.
Comments and submissions welcome but where posible try to keep it simple.
 
If in doubt use two simple REGEX rather than one complex one.
V0.7 - 08/06/2009
########################################################################################
Added excludefromscan section. Do not catalog anything in a folder called extras.
To install this REGEX create a text file called advancedsettings.xml
Using the expected TV folder naming structure still allows the TV show "Extras".
Copy the contents of this into this file and place it in the Userdata folder
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 catches some common names
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: frng101-notv.avi -->
<!--  File name format: tzp-show12324.avi -->
<regexp>[.a-z](\d\d?)(\d\d)-notv([^/\\]*)</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: tzp-show123.avi  -->
<regexp>[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\]tpz-.*?\1(\d\d)([^/\\]*)</regexp>
<!--  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.
This REGEX has huge potential for false positives but catches alot of the left over dross.
Suggest commenting it out if you are unsure  -->
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>
</tvshowmatching>
 
 
  <moviestacking append="yes">
<!--
 
#######################################################################################
  <!-- XBMC does an excellent job on stacking natively so this extra list will likely always be short.
Movie Stacking
  Essentially it caters for a few edge cases only. It should be relatively safe to add regardless. -->
Caters for a few edge cases of well known movie format XBMC misses.
#######################################################################################
    <regexp>done[ _\.-](\d)[ _\.-]</regexp>
-->
  </moviestacking>
 
<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>
</pre>

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>