no NA
This commit is contained in:
parent
77652b5001
commit
e625c48ab2
1 changed files with 29 additions and 17 deletions
46
mosireen.py
46
mosireen.py
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
custom parse_path for pandora_client to parse musereen archive paths in the form
|
custom parse_path for pandora_client to parse musereen archive paths in the form
|
||||||
|
|
||||||
YYYY/MM_YYYY/DD_MM_YYYY/Location 1/Location 2/Event/Cinematographer/Topic 2(optional)/MVI_2036.MOV
|
YYYY/MM_YYYY/DD_MM_YYYY/Location 1/Location 2/Event/Shooter/Topic 2(optional)/MVI_2036.MOV
|
||||||
|
|
||||||
'''
|
'''
|
||||||
import re
|
import re
|
||||||
|
@ -23,7 +23,7 @@ def parse_path(client, path, context):
|
||||||
return:
|
return:
|
||||||
return None if file is ignored, dict with parsed item information otherwise
|
return None if file is ignored, dict with parsed item information otherwise
|
||||||
'''
|
'''
|
||||||
m = re.compile('^(\d{4})/(\d{2}|NA)_(\d{4})/(?P<day>\d+|NA)_(?P<month>\d+|NA)_(?P<year>\d{4})((-(?P<tilday>\d+|NA)_(?P<tilmonth>\d+|NA)_(?P<tilyear>\d{4}))?)/(?P<location1>.+?)/(?P<location2>.+?)/(?P<subject1>.+?)/(?P<shooter>.+?)/((?P<subject2>.+?)/|).*').match(path)
|
m = re.compile('^(\d{4}|NA)/(\d{2}|NA)_(\d{4}|NA)/(?P<day>\d+|NA)_(?P<month>\d+|NA)_(?P<year>\d{4}|NA)((-(?P<tilday>\d+|NA)_(?P<tilmonth>\d+|NA)_(?P<tilyear>\d{4}))?)/(?P<location1>.+?)/(?P<location2>.+?)/(?P<subject1>.+?)/(?P<shooter>.+?)/((?P<subject2>.+?)/|).*').match(path)
|
||||||
if not m:
|
if not m:
|
||||||
return None
|
return None
|
||||||
info = m.groupdict()
|
info = m.groupdict()
|
||||||
|
@ -34,27 +34,38 @@ def parse_path(client, path, context):
|
||||||
if info[key]:
|
if info[key]:
|
||||||
info[key] = info[key].replace('_', ' ')
|
info[key] = info[key].replace('_', ' ')
|
||||||
|
|
||||||
|
while date.endswith('-NA'):
|
||||||
|
date = date[:-3]
|
||||||
|
if date == 'NA':
|
||||||
|
date = ''
|
||||||
|
|
||||||
|
title_date = ' (%s)' % date if date else ''
|
||||||
|
|
||||||
topic = info['subject1'].split(",")
|
topic = info['subject1'].split(",")
|
||||||
if info['subject2']:
|
if info['subject2']:
|
||||||
topic += info['subject2'].split(",")
|
topic += info['subject2'].split(",")
|
||||||
title = "%s, %s (%s)" % (info['subject1'], info['subject2'], date)
|
title = "%s, %s%s" % (info['subject1'], info['subject2'], title_date)
|
||||||
else:
|
else:
|
||||||
title = "%s (%s)" % (info['subject1'], date)
|
title = "%s%s" % (info['subject1'], title_date)
|
||||||
|
|
||||||
while date.endswith('-NA'):
|
'''
|
||||||
date = date[:-3]
|
if info['shooter'] != 'NA':
|
||||||
title = "%s %s at %s, %s" % (title, info['shooter'], info['location2'], info['location1'])
|
title = "%s %s" % (title, info['shooter'])
|
||||||
title = title.replace(' ', ' ').strip()
|
'''
|
||||||
title = title.replace(' ', ' ').strip()
|
location = [info['location2'], info['location1']]
|
||||||
|
location = ', '.join([l.strip() for l in location if l.strip() != 'NA'])
|
||||||
topic = [t.strip() for t in topic]
|
|
||||||
shooter = [s.strip() for s in info['shooter'].split(',')]
|
|
||||||
|
|
||||||
location = '%s, %s' % (info['location2'], info['location1'])
|
|
||||||
location = location.strip()
|
location = location.strip()
|
||||||
|
|
||||||
|
if location:
|
||||||
|
title += ' at ' + location
|
||||||
|
title = title.replace(' ', ' ').strip()
|
||||||
|
title = title.replace(' ', ' ').strip()
|
||||||
|
|
||||||
|
topic = [t.strip() for t in topic if t.strip() != 'NA']
|
||||||
|
shooter = [s.strip() for s in info['shooter'].split(',') if s.strip() != 'NA']
|
||||||
|
|
||||||
r = {
|
r = {
|
||||||
'cinematographer': shooter,
|
'shooter': shooter,
|
||||||
'date': date,
|
'date': date,
|
||||||
'location': location,
|
'location': location,
|
||||||
'title': title,
|
'title': title,
|
||||||
|
@ -74,7 +85,8 @@ def ignore_file(client, path):
|
||||||
if filename.startswith('._') \
|
if filename.startswith('._') \
|
||||||
or filename in (
|
or filename in (
|
||||||
'.DS_Store', 'Thumbs.db',
|
'.DS_Store', 'Thumbs.db',
|
||||||
'CINDEX.TMP', 'THUMB.TDT', 'THUMB.TID'
|
'CINDEX.TMP', 'THUMB.TDT', 'THUMB.TID',
|
||||||
|
'S_INDEX.DAT',
|
||||||
) \
|
) \
|
||||||
or filename.endswith('~') \
|
or filename.endswith('~') \
|
||||||
or 'Autosave Vault' in path \
|
or 'Autosave Vault' in path \
|
||||||
|
@ -83,7 +95,7 @@ def ignore_file(client, path):
|
||||||
or os.path.splitext(filename.lower())[-1] in (
|
or os.path.splitext(filename.lower())[-1] in (
|
||||||
'.thm', '.rtf', '.sfk', '.fcp', '.xmp', '.prproj',
|
'.thm', '.rtf', '.sfk', '.fcp', '.xmp', '.prproj',
|
||||||
'.ctg', '.cpi', '.bdm', '.mpl', '.html', '.txt',
|
'.ctg', '.cpi', '.bdm', '.mpl', '.html', '.txt',
|
||||||
'.doc', '.xml', '.psd', '.pds',
|
'.doc', '.xml', '.psd', '.pds', '.qtindex', '.lnk',
|
||||||
) \
|
) \
|
||||||
or not os.path.exists(path) \
|
or not os.path.exists(path) \
|
||||||
or os.stat(path).st_size == 0:
|
or os.stat(path).st_size == 0:
|
||||||
|
|
Loading…
Reference in a new issue