extend producer discovery to work with css classes

This commit is contained in:
Frédéric Péters 2018-01-06 11:04:40 +01:00
parent a0a50ba2fa
commit 23ee901314
1 changed files with 24 additions and 5 deletions

View File

@ -137,15 +137,34 @@ def is_place_page(page):
return page.template_name == 'place'
PRODUCER_LABELS = {
'atmo': u'Air Rhône-Alpes',
'onlymoov': u'ONLY MOOV',
'tcl': u'TCL',
'toodego': u'Toodego',
'velov': u"Velo'v",
}
@register.filter
def as_producer(slug):
producer = None
if ':' in slug: # formdef_reference
slug = slug.split(':')[0]
if slug.startswith('_'):
collectivity = slug.split('_')[1].replace('hobo-', '')
return {'slug': collectivity,
'label': settings.KNOWN_SERVICES['hobo'].get('hobo-%s' % collectivity, {'title': ''})['title']}
return {'slug': 'grandlyon', 'label': 'Grand Lyon'}
if slug.startswith('_'):
producer = slug.split('_')[1].replace('hobo-', '')
else:
try:
producer = re.search(r'(^|\W)producer-(\w*)(\W|$)', slug).group(2).strip()
except AttributeError:
pass
if settings.KNOWN_SERVICES['hobo'].get('hobo-%s' % producer):
return {'slug': producer,
'label': settings.KNOWN_SERVICES['hobo'].get('hobo-%s' % producer, {'title': ''})['title']}
elif producer in PRODUCER_LABELS:
return {'slug': producer, 'label': PRODUCER_LABELS[producer]}
else:
return {'slug': 'grandlyon', 'label': 'Grand Lyon'}
@register.filter
def as_commune(user_data):