def demo_sleep(download_id, howlong=5, expiry=1 * 60 * 60): """ Demo the downloader, with sleep """ time.sleep(howlong) temp_id = uuid.uuid4().hex cache.set(temp_id, "It works!", expiry) cache.set(download_id, CachedDownload(temp_id), expiry)
def bulk_upload_async(download_id, domain, user_specs, group_specs): results = create_or_update_users_and_groups(domain, user_specs, group_specs) temp_id = uuid.uuid4().hex expiry = 60 * 60 cache.set(temp_id, results, expiry) cache.set( download_id, CachedDownload(temp_id, content_disposition="", mimetype="text/html"), expiry)
def download_file(request, domain): download_id = request.GET.get("download_id") try: dw = CachedDownload.get(download_id) if dw: return dw.toHttpResponse() else: raise IOError except IOError: notify_exception(request) messages.error(request, _("Sorry, Something went wrong with your download! Please try again. If you see this repeatedly please report an issue ")) return HttpResponseRedirect(reverse("fixture_interface_dispatcher", args=[], kwargs={'domain': domain, 'report_slug': 'edit_lookup_tables'}))
def expose_cached_download(payload, expiry, file_extension, mimetype=None, content_disposition=None, download_id=None, extras=None): """ Expose a cache download object. """ ref = CachedDownload.create(payload, expiry, mimetype=mimetype, content_disposition=content_disposition, download_id=download_id, extras=extras, suffix=file_extension) ref.save(expiry) return ref