From 5ff1f8811ba3af5fe92599c16144a00667a6933d Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Thu, 25 Apr 2013 00:53:53 +0200 Subject: [PATCH] fix mosireen plugin --- mosireen.py | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/mosireen.py b/mosireen.py index 657055e..a27371e 100644 --- a/mosireen.py +++ b/mosireen.py @@ -3,13 +3,14 @@ custom parse_path for pandora_client to parse musereen archive paths in the form - MM_YYYY/DD_MM_YYYY/Location 1/Location 2/Subject 1/Cinematographer/Subject 2/MVI_2036.MOV + YYYY/MM_YYYY/DD_MM_YYYY/Location 1/Location 2/Subject 1/Cinematographer/Subject 2(optional)/MVI_2036.MOV ''' import re +import ox def example_path(client): - return '\t' + 'MM_YYYY/DD_MM_YYYY/Location 1/Location 2/Subject 1/Shooter/Subject 2/MVI_2036.MOV' + return '\t' + 'YYYY/MM_YYYY/DD_MM_YYYY/Location 1/Location 2/Subject 1/Shooter/Subject 2(optional)/MVI_2036.MOV' def parse_path(client, path): ''' @@ -19,20 +20,33 @@ def parse_path(client, path): return: return None if file is ignored, dict with parsed item information otherwise ''' - reg = re.compile('(\d{2})_(\d{4})/(?P\d+)_(?P\d+)_(?P\d{4})/(?P.+)/(?P.+)/(?P.+)/(?P.+)/(?P.+)/.*') - m = reg.match(path) + m = re.compile('^(\d{4})/(\d{2})_(\d{4})/(?P\d+)_(?P\d+)_(?P\d{4})/(?P.+?)/(?P.+?)/(?P.+?)/(?P.+?)/((?P.+?)/|).*').match(path) if not m: return None - path_info = m.groupdict() - date = '%s-%s-%s' % (path_info['day'], path_info['month'], path_info['year']) - for key in path_info: - path_info[key] = path_info[key].replace('_', ' ') - return { + info = m.groupdict() + date = '%s-%s-%s' % (info['year'], info['month'], info['day']) + for key in info: + if info[key]: + info[key] = info[key].replace('_', ' ') + + topic = [info['subject1']] + if info['subject2']: + topic.append(info['subject2']) + title = "%s, %s (%s)" % (info['subject1'], info['subject2'], date) + else: + title = "%s (%s)" % (info['subject1'], date) + title = "%s %s" % (title, info['shooter']) + + r = { + 'cinematographer': [info['shooter']], 'date': date, - 'location': '%s, %s' % (path_info['location2'], path_info['location1']), - 'title': "%s, %s (%s)" % (path_info['subject1'], path_info['subject2'], date), - 'cinematographer': [path_info['cinematographer']], - 'topic': [path_info['subject1'], path_info['subject2']] + 'location': '%s, %s' % (info['location2'], info['location1']), + 'title': title, + 'topic': topic } + _info = ox.movie.parse_path(path) + for key in ('extension', 'type'): + r[key] = _info[key] + return r