Update to latest Rebulk changes

This commit is contained in:
Toilal
2015-10-24 17:31:31 +02:00
parent 42acedaf7c
commit 01c7751947
7 changed files with 154 additions and 6 deletions
+2
View File
@@ -31,6 +31,8 @@ class GuessitEncoder(json.JSONEncoder):
ret['start'] = o.start
ret['end'] = o.end
return ret
elif hasattr(o, 'name'): # Babelfish languages/countries long name
return o.name
else:
return str(o)
+2 -2
View File
@@ -13,8 +13,8 @@ BONUS = Rebulk().regex_defaults(flags=re.IGNORECASE)
BONUS.regex(r'x(\d+)', name='bonusNumber', private_parent=True, children=True, formatter=int,
validator={'__parent__': lambda match: seps_surround},
conflict_solver=lambda match, conflicting: conflicting
if match.name in ['videoCodec', 'episodeNumber'] else None)
conflict_solver=lambda match, conflicting: match
if conflicting.name in ['videoCodec', 'episodeNumber'] else '__default__')
class BonusTitleRule(AppendMatchRule):
+5 -1
View File
@@ -14,4 +14,8 @@ EPISODES.regex(r'(?P<season>\d+)x(?P<episodeNumber>\d+)',
r'S(?P<season>\d+)[ex](?P<episodeNumber>\d+)',
formatter=int,
children=True,
private_parent=True)
private_parent=True,
conflict_solver=lambda match, other: match
if match.name in ['season', 'episodeNumber']
and other.name == 'screenSize'
else '__default__')
+2 -2
View File
@@ -18,7 +18,7 @@ UNDETERMINED = babelfish.Language('und')
SYN = {('und', None): ['unknown', 'inconnu', 'unk', 'un'],
('ell', None): ['gr', 'greek'],
('spa', None): ['esp', 'español'],
('fra', None): ['français', 'vf', 'vff', 'vfi'],
('fra', None): ['français', 'vf', 'vff', 'vfi', 'vfq'],
('swe', None): ['se'],
('por', 'BR'): ['po', 'pb', 'pob', 'br', 'brazilian'],
('cat', None): ['català'],
@@ -158,7 +158,7 @@ LNG_COMMON_WORDS = frozenset([
'la', 'el', 'del', 'por', 'mar', 'al',
# other
'ind', 'arw', 'ts', 'ii', 'bin', 'chan', 'ss', 'san', 'oss', 'iii',
'vi', 'ben', 'da', 'lt', 'ch', 'sr', 'ps', 'cx',
'vi', 'ben', 'da', 'lt', 'ch', 'sr', 'ps', 'cx', 'vo',
# new from babelfish
'mkv', 'avi', 'dmd', 'the', 'dis', 'cut', 'stv', 'des', 'dia', 'and',
'cab', 'sub', 'mia', 'rim', 'las', 'une', 'par', 'srt', 'ano', 'toy',
+2
View File
@@ -38,6 +38,8 @@ for value in ('Screener', 'Remux', '3D', 'HD', 'mHD', 'HDLight', 'HQ', 'DDC', 'H
for value in ('Limited', 'Complete', 'Classic', 'Unrated', 'LiNE', 'Bonus', 'Trailer'):
OTHER.string(value, value=value, tags='other.has-neighbor')
OTHER.string('VO', 'OV', value='OV', tags='other.has-neighbor')
OTHER.regex('Scr(?:eener)?', value='Screener', validator=None, tags='other.validate.screener')
+9
View File
@@ -7,6 +7,7 @@ from rebulk import Rebulk
import regex as re
from ..common.validators import seps_surround
from guessit.rules.common import dash
SCREEN_SIZE = Rebulk().regex_defaults(flags=re.IGNORECASE)
SCREEN_SIZE.defaults(name="screenSize", validator=seps_surround)
@@ -21,5 +22,13 @@ SCREEN_SIZE.regex(r"(?:\d{3,}(?:\\|\/|x|\*))?1080i", value="1080i")
SCREEN_SIZE.regex(r"(?:\d{3,}(?:\\|\/|x|\*))?1080p?x?", value="1080p")
SCREEN_SIZE.regex(r"(?:\d{3,4}(?:\\|\/|x|\*))?2160(?:i|p?x?)", value="4K")
_digits_re = re.compile(r'\d+')
SCREEN_SIZE.regex(r'\d{3,4}-?[x\*]-?\d{3,4}', abbreviations=[dash],
formatter=lambda value: 'x'.join(_digits_re.findall(value)),
conflict_solver=lambda match, other: match if other.name == 'screenSize' else other)
# TODO: implement validators from guessit 1
# validator=ChainedValidator(DefaultValidator(), OnlyOneValidator()))
+132 -1
View File
@@ -646,4 +646,135 @@
: title: Dr LiNE The Lorax
screenSize: 720p
videoCodec: h264
format: BluRay
format: BluRay
#TODO: Camelcase implementation
#? BeatdownFrenchDVDRip.mkv
#: options: -c
# title: Beatdown
# language: French
# format: DVD
#? YvesSaintLaurent2013FrenchDVDScrXvid.avi
#: options: -c
# format: DVD
# language: French
# other: Screener
# title: Yves saint laurent
# videoCodec: XviD
# year: 2013
? Elle.s.en.va.720p.mkv
: screenSize: 720p
title: Elle s en va
? FooBar.7.PDTV-FlexGet
: format: DVB
releaseGroup: FlexGet
title: FooBar 7
? h265 - HEVC Riddick Unrated Director Cut French 1080p DTS.mkv
: audioCodec: DTS
edition: Director's cut
language: fr
screenSize: 1080p
title: Riddick
other: Unrated
videoCodec: h265
? "[h265 - HEVC] Riddick Unrated Director Cut French [1080p DTS].mkv"
: audioCodec: DTS
edition: Director's cut
language: fr
screenSize: 1080p
title: Riddick
other: Unrated
videoCodec: h265
? Barbecue-2014-French-mHD-1080p
: options: -n
language: fr
other: mHD
screenSize: 1080p
title: Barbecue
year: 2014
? Underworld Quadrilogie VO+VFF+VFQ 1080p HDlight.x264~Tonyk~Monde Infernal
: options: -n
language: fr
other:
- HDLight
- OV
screenSize: 1080p
title: Underworld Quadrilogie
videoCodec: h264
? A Bout Portant (The Killers).PAL.Multi.DVD-R-KZ
: options: -n
format: DVD
language: mul
releaseGroup: KZ
title: A Bout Portant
? "Mise à Sac (Alain Cavalier, 1967) [Vhs.Rip.Vff]"
: format: VHS
language: fr
title: "Mise à Sac"
year: 1967
? A Bout Portant (The Killers).PAL.Multi.DVD-R-KZ
: format: DVD
other: PAL
language: mul
releaseGroup: KZ
title: A Bout Portant
? Youth.In.Revolt.(Be.Bad).2009.MULTI.1080p.LAME3*92-MEDIOZZ
: audioCodec: MP3
language: mul
releaseGroup: MEDIOZZ
screenSize: 1080p
title: Youth In Revolt
year: 2009
? La Defense Lincoln (The Lincoln Lawyer) 2011 [DVDRIP][Vostfr]
: format: DVD
subtitleLanguage: fr
title: La Defense Lincoln
year: 2011
? '[h265 - HEVC] Fight Club French 1080p DTS.'
: audioCodec: DTS
language: fr
screenSize: 1080p
title: Fight Club
videoCodec: h265
? Love Gourou (Mike Myers) - FR
: language: fr
title: Love Gourou
? '[h265 - hevc] transformers 2 1080p french ac3 6ch.'
: audioChannels: '5.1'
audioCodec: AC3
language: fr
screenSize: 1080p
title: transformers 2
videoCodec: h265
? 1.Angry.Man.1957.mkv
: title: 1 Angry Man
year: 1957
? 12.Angry.Men.1957.mkv
: title: 12 Angry Men
year: 1957
? 123.Angry.Men.1957.mkv
: title: 123 Angry Men
year: 1957
? "Looney Tunes 1444x866 Porky's Last Stand.mkv"
: screenSize: 1444x866
title: Looney Tunes