datadownloads.py 675 B

1234567891011121314151617181920212223242526
  1. from .models import DataDownload
  2. STATUS_PROGRESS = (DataDownload.STATUS_PENDING, DataDownload.STATUS_PROCESSING)
  3. def is_user_preparing_data_download(user):
  4. queryset = DataDownload.objects.filter(user=user, status__in=STATUS_PROGRESS)
  5. return queryset.exists()
  6. def prepare_user_data_download(user, requester=None):
  7. requester = requester or user
  8. return DataDownload.objects.create(
  9. user=user,
  10. requester=requester,
  11. requester_name=requester.username,
  12. )
  13. def expire_user_data_download(download):
  14. download.status = DataDownload.STATUS_EXPIRED
  15. if download.file:
  16. download.file.delete(save=False)
  17. download.save()