Fix maxcdn purge limit

api-v2-docs
Eric Holscher 2015-10-14 16:42:28 -07:00
parent af6df0df94
commit 3868fcb69d
1 changed files with 9 additions and 1 deletions

View File

@ -9,12 +9,20 @@ CDN_USERNAME = getattr(settings, 'CDN_USERNAME', None)
CDN_KEY = getattr(settings, 'CDN_KEY', None)
CDN_SECRET = getattr(settings, 'CDN_SECRET', None)
def chunks(in_list, chunk_size):
"""Yield successive n-sized chunks from l."""
for i in xrange(0, len(in_list), chunk_size):
yield in_list[i:i + chunk_size]
if CDN_USERNAME and CDN_KEY and CDN_SECRET and CDN_SERVICE == 'maxcdn':
from maxcdn import MaxCDN
api = MaxCDN(CDN_USERNAME, CDN_KEY, CDN_SECRET)
def purge(id, files):
return api.purge(id, files)
# We can only purge up to 250 files per request
for chunk in chunks(files, 200):
return api.purge(id, chunk)
else:
def purge(id, files):
log.error("CDN not configured, can't purge files")