39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
'''
|
|
mosireen.py - pandora_client plugin
|
|
|
|
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
|
|
|
|
'''
|
|
import re
|
|
|
|
def example_path(client):
|
|
return '\t' + 'MM_YYYY/DD_MM_YYYY/Location 1/Location 2/Subject 1/Shooter/Subject 2/MVI_2036.MOV'
|
|
|
|
def parse_path(client, path):
|
|
'''
|
|
args:
|
|
client - Client instance
|
|
path - path without volume prefix
|
|
return:
|
|
return None if file is ignored, dict with parsed item information otherwise
|
|
'''
|
|
reg = re.compile('(\d{2})_(\d{4})/(?P<day>\d+)_(?P<month>\d+)_(?P<year>\d{4})/(?P<location1>.+)/(?P<location2>.+)/(?P<subject1>.+)/(?P<cinematographer>.+)/(?P<subject2>.+)/.*')
|
|
m = reg.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 {
|
|
'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']]
|
|
}
|
|
|
|
|