from django.shortcuts import get_object_or_404
from django.conf import settings
from django.utils import timezone
+from django.template.defaultfilters import slugify
from postgresqleu.util.db import exec_to_list
from postgresqleu.util.currency import format_currency
'sponsors': [
{
'name': s.displayname,
+ 'slugname': slugify(s.displayname),
'confirmedat': s.confirmedat,
'signedupat': s.signupat
} for s in lvl.sponsor_set.filter(confirmed=True).order_by('signupat')
'sponsors': {
s.displayname: {
'name': s.displayname,
+ 'slugname': slugify(s.displayname),
'url': s.url,
'social': s.social,
'level': s.level.levelname,
import urllib.request
-# Slugify the names - needs to be compatible with django/jinja/deploystatic
-def slugify(value):
- if not value:
- return ''
- value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore').decode('ascii')
- value = re.sub(r'[^\w\s-]', '', value).strip().lower()
- return re.sub(r'[-\s]+', '-', value)
-
-
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Fetch pgeu-system sponsor files from token URLs')
parser.add_argument('tokenurl', type=str, help='Base URL including the token value, but not including the type of dta')
for name, sponsorinfo in data['sponsors']['sponsors'].items():
for benefit in sponsorinfo['benefits']:
if benefit['name'] == args.benefitname:
- filename = os.path.join(args.directory, '{}.png'.format(slugify(name)))
+ filename = os.path.join(args.directory, '{}.png'.format(sponsorinfo['slugname']))
if os.path.isfile(filename):
# Check if this file is unchanged
with open(filename, 'rb') as f: