View difference between Paste ID: f4a5aa918 and
SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | <!-- |
2 | V1.8 | |
3 | http://xbmc.org/forum/showthread.php?t=51614 | |
4 | ||
5 | ####################################################################################### | |
6 | This REGEX is UNOFFICIAL/EXPERIMENTAL and may require a strict folder structure. | |
7 | ||
8 | *Use at your own risk* | |
9 | ||
10 | We use multiple REGEX rather than try to build one REGEX to rule them all. | |
11 | This wastes CPU cycles but allows easier bug finding, refining and end user understanding. | |
12 | The order they run is important. It will never catch all episodes. | |
13 | Since were trying to deal with bad naming it could result in false positives. | |
14 | Comments and submissions welcomed but try to keep it simple. If in doubt use two simple REGEX rather than one complex one. | |
15 | ||
16 | To install see: http://www.xbmc.org/wiki/?title=AdvancedSettings.xml | |
17 | ######################################################################################## | |
18 | --> | |
19 | ||
20 | <advancedsettings> | |
21 | ||
22 | <!-- | |
23 | ####################################################################################### | |
24 | Customise/remove/comment this section to your personal preferences. | |
25 | ####################################################################################### | |
26 | --> | |
27 | ||
28 | <navigatevirtualkeyboard>true</navigatevirtualkeyboard> <!-- Activates virtual keyboard navigation, default is false --> | |
29 | ||
30 | <videolibrary> | |
31 | <hideallitems>true</hideallitems> <!-- Remove the "*All" items from the video library --> | |
32 | <hideemptyseries>false</hideemptyseries> <!-- Dont hide empty series in the video library --> | |
33 | <hiderecentlyaddeditems>false</hiderecentlyaddeditems> <!-- Dont remove the "Recently added ..." items from the video library. --> | |
34 | <recentlyaddeditems>250</recentlyaddeditems> <!-- Increase number of recently added items from 25 --> | |
35 | </videolibrary> | |
36 | ||
37 | <myvideos> | |
38 | <extractthumb>false</extractthumb> <!-- Dont create random thumbnails. Either scrape them from the internet or dont have them --> | |
39 | </myvideos> | |
40 | ||
41 | <sorttokens> | |
42 | <token separators="">"</token> <!-- Ignore " when sorting. Senisble due to IMDB naming policy --> | |
43 | </sorttokens> | |
44 | ||
45 | <!-- | |
46 | ####################################################################################### | |
47 | Stop XBMC indexing some unwanted common items | |
48 | ####################################################################################### | |
49 | --> | |
50 | ||
51 | <video> | |
52 | <excludefromscan action="prepend"> | |
53 | <regexp>[\//]extras[\//]</regexp> <!-- Any movies in a folder called extras (recursive and case insensitive) will be ignored --> | |
54 | <regexp>[\//]sample\.</regexp> <!-- Any movies called sample.* ignored --> | |
55 | </excludefromscan> | |
56 | <excludetvshowsfromscan action="prepend"> | |
57 | <regexp>[\//]extras[\//]</regexp> <!-- Any TV in a folder called extras (recursive and case insensitive) will be ignored) --> | |
58 | <regexp>[\//]sample\.</regexp> <!-- Any TV called sample.* ignored --> | |
59 | </excludetvshowsfromscan> | |
60 | </video> | |
61 | ||
62 | ||
63 | <!-- | |
64 | ####################################################################################### | |
65 | XBMC catches a few files incorrectly so we will catch them befroe XBMC trys. | |
66 | ####################################################################################### | |
67 | --> | |
68 | ||
69 | <tvshowmatching action="prepend"> | |
70 | ||
71 | <regexp>(?i)[/\\]tpz-(?:24|30rock|4400)(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> <!-- tzp-SPECIFICSHOW12324.avi Caters for some show specific odditys --> | |
72 | <regexp>(?i)[/\\]tpz-[^\d]*(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> <!-- tzp-show12324.avi --> | |
73 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\](\d\d?)[^\w]([^/\\]*)</regexp> <!-- /UFO/Season 1/02.Computer.Affair.divx e.g. lame sequntial numbering witout season --> | |
74 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]ep?\.?(\d\d?)[^\w]([^/\\]*)</regexp> <!-- /Ulysses 31/Season 1/Ulysses 31 E12 Trapped.avi e.g. lame sequntial numbering witout season --> | |
75 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]?episode[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> <!-- /The Chronicles/Season 1/Chronicles.Of.01.The.episode.6.DVDRip.DivX-movies.avi --> | |
76 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]part[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> <!-- /NASA Missions/Season 1/nasa.missions.part.3.hdtv.xvid-fqm.avi --> | |
77 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?[^\w]chapter[^\w]?(\d\d?)[^\w]([^/\\]*)</regexp> <!-- /The Young /Season 1/The.Young.Chapter.01.My.First.Adventure.DVDRip.XviD-SAiNTS.avi --> | |
78 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?\1[^\w]?x[^\w]?(\d\d?)([^/\\]*)</regexp> <!-- /season 5/Lost - 5 x 05.mkv --> | |
79 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?s0?\1[ex]{0,2}(\d{1,2})([^/\\]*)</regexp> <!-- /Season 1/Grange Hill S01xE01.avi --> | |
80 | <regexp>(?i)[.a-z](\d\d?)(\d\d)-notv([^/\\]*)</regexp> <!-- frng101-notv.avi --> | |
81 | <regexp>(?i)[/\\]\w+-\w+(\d)(\d\d)\.</regexp> <!-- mtn-tts104.avi --> | |
82 | ||
83 | <!-- | |
84 | ####################################################################################### | |
85 | File only REGEX matching in an attempt to cater for ultra lame TPZ Topaz naming scheme. | |
86 | 99%+ accuracy. The remaining are TPZ releases that dont follow their own naming scheme. | |
87 | The order they run in is VITAL. To be safe run them all or none. | |
88 | ####################################################################################### | |
89 | --> | |
90 | ||
91 | <regexp>(?i)[/\\]tpz-(?:24|30rock|4400)(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> <!-- tzp-SPECIFICSHOW12324.avi This attempts to cater for some odditys --> | |
92 | <regexp>(?i)[/\\]tpz-johnadams(\d).avi</regexp> <!-- tpz-johnadams2.avi. Another TPX divergence from their own naming scheme. XBMC will assume Season 1 if only one match--> | |
93 | <regexp>(?i)[/\\]tpz-[^\d]*(\d)(\d{2})(\d{2})?(?:r|fix|dc|-repack|int|d)?\.</regexp> <!-- tzp-show12324.avi --> | |
94 | ||
95 | <!-- | |
96 | ####################################################################################### | |
97 | Courtesy of Grum, this REGEX will extract info from scene RARs. | |
98 | I will not be able to offer support on this section as I have no suitable files, but by all accounts it will work exceptionally well. | |
99 | ####################################################################################### | |
100 | --> | |
101 | ||
102 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) Episode (?:%(?:5f|2[ed]))? (\d+) %(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
103 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) S(\d+) (?:%(?:5f|2[ed]))?E(\d+) %(?:5f|2[ed]) S(?:\d+) (?:%(?:5f|2[ed]))?E(\d+)%(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
104 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) S(\d+) (?:%(?:5f|2[ed]))?E(\d+)(?:%(?:5f|2[ed]))? E (\d+) %(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
105 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) (\d+) x(\d+) %(?:5f|2[ed]) (?:\d+)x(\d+) %(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
106 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) S(\d+) (?:%(?:5f|2[ed]))?E(\d+) %(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
107 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) (\d+) x(\d+) %(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
108 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) part (?:%(?:5f|2[ed]))? (\d+) %(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
109 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) E(?:P(?:isode)?)? (\d+)(?:%(?:5f|2[ed]))? E(?:P(?:isode)?)? (\d+)%(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
110 | <regexp>(?x)rar://.*%(?:2f|5c).*%(?:5f|2[ed]) E(?:P(?:isode)?)? (\d+) %(?:5f|2[ed]).*%(?:2f|5c).*%2erar/[^/]+[.](?:avi|ogm|mkv)</regexp> | |
111 | ||
112 | </tvshowmatching> | |
113 | ||
114 | <!-- | |
115 | ####################################################################################### | |
116 | Now that XBMC has had a shot we will try a few more les reliable REGEX | |
117 | ####################################################################################### | |
118 | --> | |
119 | ||
120 | <tvshowmatching action="append"> | |
121 | ||
122 | <!-- | |
123 | ####################################################################################### | |
124 | Takes the season number from the folder name and ep number from video file. | |
125 | For best results use the tvshow.nfo method along with show/season x/episodes | |
126 | ####################################################################################### | |
127 | --> | |
128 | ||
129 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\][^\d]+[\. _-](\d{1,2})[\. _-][^\d]+</regexp> <!-- /Season 1/the_episode_8.avi HUGE potential for false positives. Comment out if you are unsure --> | |
130 | <regexp>(?i)[/\\]season[^\w]?(\d{1,2})[^\d]*[/\\].*?\D\1(\d\d)(?!.*])</regexp> <!-- /Action/Season 1/Action101 Pilot.avi Last (?!.*]) helps with anime false positives. not a perfect solution --> | |
131 | </tvshowmatching> | |
132 | ||
133 | </advancedsettings> |