choices.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from django.utils.translation import gettext_lazy as _
  2. from utilities.choices import ChoiceSet
  3. #
  4. # Data sources
  5. #
  6. class DataSourceStatusChoices(ChoiceSet):
  7. NEW = 'new'
  8. QUEUED = 'queued'
  9. SYNCING = 'syncing'
  10. COMPLETED = 'completed'
  11. FAILED = 'failed'
  12. CHOICES = (
  13. (NEW, _('New'), 'blue'),
  14. (QUEUED, _('Queued'), 'orange'),
  15. (SYNCING, _('Syncing'), 'cyan'),
  16. (COMPLETED, _('Completed'), 'green'),
  17. (FAILED, _('Failed'), 'red'),
  18. )
  19. #
  20. # Managed files
  21. #
  22. class ManagedFileRootPathChoices(ChoiceSet):
  23. SCRIPTS = 'scripts' # settings.SCRIPTS_ROOT
  24. REPORTS = 'reports' # settings.REPORTS_ROOT
  25. CHOICES = (
  26. (SCRIPTS, _('Scripts')),
  27. (REPORTS, _('Reports')),
  28. )
  29. #
  30. # Jobs
  31. #
  32. class JobStatusChoices(ChoiceSet):
  33. STATUS_PENDING = 'pending'
  34. STATUS_SCHEDULED = 'scheduled'
  35. STATUS_RUNNING = 'running'
  36. STATUS_COMPLETED = 'completed'
  37. STATUS_ERRORED = 'errored'
  38. STATUS_FAILED = 'failed'
  39. CHOICES = (
  40. (STATUS_PENDING, _('Pending'), 'cyan'),
  41. (STATUS_SCHEDULED, _('Scheduled'), 'gray'),
  42. (STATUS_RUNNING, _('Running'), 'blue'),
  43. (STATUS_COMPLETED, _('Completed'), 'green'),
  44. (STATUS_ERRORED, _('Errored'), 'red'),
  45. (STATUS_FAILED, _('Failed'), 'red'),
  46. )
  47. TERMINAL_STATE_CHOICES = (
  48. STATUS_COMPLETED,
  49. STATUS_ERRORED,
  50. STATUS_FAILED,
  51. )