class JobExecutionBaseSerializer(ModelIdSerializer): """Converts job execution model fields to REST output""" status = serializers.ChoiceField(choices=JobExecution.JOB_EXE_STATUSES) command_arguments = serializers.CharField() timeout = serializers.IntegerField() pre_started = serializers.DateTimeField() pre_completed = serializers.DateTimeField() pre_exit_code = serializers.IntegerField() job_started = serializers.DateTimeField() job_completed = serializers.DateTimeField() job_exit_code = serializers.IntegerField() post_started = serializers.DateTimeField() post_completed = serializers.DateTimeField() post_exit_code = serializers.IntegerField() created = serializers.DateTimeField() queued = serializers.DateTimeField() started = serializers.DateTimeField() ended = serializers.DateTimeField() last_modified = serializers.DateTimeField() job = ModelIdSerializer() node = ModelIdSerializer() error = ModelIdSerializer()
class JobExecutionBaseSerializerV5(ModelIdSerializer): """Converts job execution model fields to REST output""" status = serializers.CharField(source='get_status') command_arguments = serializers.CharField() timeout = serializers.IntegerField() pre_started = serializers.DateTimeField() pre_completed = serializers.DateTimeField() pre_exit_code = serializers.IntegerField() job_started = serializers.DateTimeField() job_completed = serializers.DateTimeField() job_exit_code = serializers.IntegerField() post_started = serializers.DateTimeField() post_completed = serializers.DateTimeField() post_exit_code = serializers.IntegerField() created = serializers.DateTimeField() queued = serializers.DateTimeField() started = serializers.DateTimeField() ended = serializers.DateTimeField(source='jobexecutionend.ended') last_modified = serializers.DateTimeField(source='created') job = ModelIdSerializer() node = ModelIdSerializer() error = ModelIdSerializer()
class JobSerializerV6(JobBaseSerializerV6): """Converts job model fields to REST output.""" from error.serializers import ErrorBaseSerializer from trigger.serializers import TriggerEventBaseSerializer job_type_rev = JobTypeRevisionBaseSerializer() event = TriggerEventBaseSerializer() node = NodeBaseSerializer() error = ErrorBaseSerializer() resources = serializers.JSONField(source='get_resources_dict') timeout = serializers.IntegerField() max_tries = serializers.IntegerField() input_file_size = serializers.FloatField() is_superseded = serializers.BooleanField() root_superseded_job = ModelIdSerializer() superseded_job = ModelIdSerializer() superseded_by_job = ModelIdSerializer() delete_superseded = serializers.BooleanField() created = serializers.DateTimeField() queued = serializers.DateTimeField() started = serializers.DateTimeField() ended = serializers.DateTimeField() last_status_change = serializers.DateTimeField() superseded = serializers.DateTimeField() last_modified = serializers.DateTimeField()
class JobSerializer(JobBaseSerializer): """Converts job model fields to REST output.""" from error.serializers import ErrorBaseSerializer from trigger.serializers import TriggerEventBaseSerializer job_type_rev = JobTypeRevisionBaseSerializer() event = TriggerEventBaseSerializer() error = ErrorBaseSerializer() timeout = serializers.IntegerField() max_tries = serializers.IntegerField() cpus_required = serializers.FloatField() mem_required = serializers.FloatField() disk_in_required = serializers.FloatField() disk_out_required = serializers.FloatField() is_superseded = serializers.BooleanField() root_superseded_job = ModelIdSerializer() superseded_job = ModelIdSerializer() superseded_by_job = ModelIdSerializer() delete_superseded = serializers.BooleanField() created = serializers.DateTimeField() queued = serializers.DateTimeField() started = serializers.DateTimeField() ended = serializers.DateTimeField() last_status_change = serializers.DateTimeField() superseded = serializers.DateTimeField() last_modified = serializers.DateTimeField()
class ScanBaseSerializer(ModelIdSerializer): """Converts scan model fields to REST output""" name = serializers.CharField() title = serializers.CharField() description = serializers.CharField() job = ModelIdSerializer() dry_run_job = ModelIdSerializer()
class ProductFileBaseSerializer(ScaleFileBaseSerializer): """Converts product file model fields to REST output""" is_operational = serializers.BooleanField() is_published = serializers.BooleanField() published = serializers.DateTimeField() unpublished = serializers.DateTimeField() job_type = ModelIdSerializer() job = ModelIdSerializer() job_exe = ModelIdSerializer()
class BatchBaseSerializerV5(ModelIdSerializer): """Converts batch model fields to REST output.""" title = serializers.CharField() description = serializers.CharField() status = serializers.ChoiceField(choices=Batch.BATCH_STATUSES) recipe_type = ModelIdSerializer() event = ModelIdSerializer() creator_job = ModelIdSerializer()
class JobBaseSerializer(ModelIdSerializer): """Converts job model fields to REST output.""" job_type = JobTypeBaseSerializer() job_type_rev = ModelIdSerializer() event = ModelIdSerializer() error = ModelIdSerializer() status = serializers.ChoiceField(choices=Job.JOB_STATUSES) priority = serializers.IntegerField() num_exes = serializers.IntegerField()
class JobExecutionBaseSerializerV6(ModelIdSerializer): """Converts job execution model fields to REST output""" status = serializers.CharField(source='get_status') exe_num = serializers.IntegerField() cluster_id = serializers.CharField() created = serializers.DateTimeField() queued = serializers.DateTimeField() started = serializers.DateTimeField() ended = serializers.DateTimeField(source='jobexecutionend.ended') job = ModelIdSerializer() node = ModelIdSerializer() error = ModelIdSerializer(source='jobexecutionend.error') job_type = ModelIdSerializer()
class RecipeSerializerV6(RecipeBaseSerializerV6): """Converts recipe model fields to REST output.""" from trigger.serializers import TriggerEventBaseSerializerV6 recipe_type_rev = RecipeTypeRevisionBaseSerializer() event = TriggerEventBaseSerializerV6() is_superseded = serializers.BooleanField() root_superseded_recipe = ModelIdSerializer() superseded_recipe = ModelIdSerializer() superseded_by_recipe = ModelIdSerializer() created = serializers.DateTimeField() completed = serializers.DateTimeField() superseded = serializers.DateTimeField() last_modified = serializers.DateTimeField()
class JobSerializerV6(JobBaseSerializerV6): """Converts job model fields to REST output.""" from batch.serializers import BatchBaseSerializerV6 from error.serializers import ErrorBaseSerializerV6 from recipe.serializers import RecipeBaseSerializerV6 from trigger.serializers import TriggerEventSerializerV6 job_type_rev = JobTypeRevisionBaseSerializer() event = TriggerEventSerializerV6() recipe = RecipeBaseSerializerV6() batch = BatchBaseSerializerV6() is_superseded = serializers.BooleanField() superseded_job = ModelIdSerializer() status = serializers.ChoiceField(choices=Job.JOB_STATUSES) node = NodeBaseSerializer() error = ErrorBaseSerializerV6() num_exes = serializers.IntegerField() input_file_size = serializers.FloatField() source_started = serializers.DateTimeField() source_ended = serializers.DateTimeField() created = serializers.DateTimeField() queued = serializers.DateTimeField() started = serializers.DateTimeField() ended = serializers.DateTimeField() last_status_change = serializers.DateTimeField() superseded = serializers.DateTimeField() last_modified = serializers.DateTimeField()
class StrikeBaseSerializer(ModelIdSerializer): """Converts strike model fields to REST output""" name = serializers.CharField() title = serializers.CharField() description = serializers.CharField() job = ModelIdSerializer()
class RecipeJobsSerializer(serializers.Serializer): """Converts recipe model fields to REST output.""" from job.serializers import JobSerializer job = JobSerializer() job_name = serializers.CharField() recipe = ModelIdSerializer()
class RecipeJobsSerializerV6(serializers.Serializer): """Converts recipe model fields to REST output.""" from job.serializers import JobSerializerV6 job = JobSerializerV6() job_name = serializers.CharField(source='node_name') is_original = serializers.BooleanField() recipe = ModelIdSerializer()
class NodeStatusJobExecutionSerializer(JobExecutionSerializer): """Converts job execution model fields to REST output""" node = ModelIdSerializer() cpus_scheduled = serializers.FloatField() mem_scheduled = serializers.FloatField() disk_in_scheduled = serializers.FloatField() disk_out_scheduled = serializers.FloatField() disk_total_scheduled = serializers.FloatField()
class ScaleFileSerializerV6(ScaleFileBaseSerializerV6): """Converts Scale file model fields to REST output""" from batch.serializers import BatchBaseSerializerV6 from job.job_type_serializers import JobTypeBaseSerializerV6 from recipe.serializers import RecipeTypeBaseSerializerV6 workspace = WorkspaceBaseSerializer() data_type_tags = serializers.ListField(child=serializers.CharField()) media_type = serializers.CharField() file_type = serializers.CharField() file_size = serializers.IntegerField() # TODO: BigIntegerField? file_path = serializers.CharField() is_deleted = serializers.BooleanField() url = serializers.URLField() created = serializers.DateTimeField() deleted = serializers.DateTimeField() data_started = serializers.DateTimeField() data_ended = serializers.DateTimeField() source_started = serializers.DateTimeField() source_ended = serializers.DateTimeField() source_sensor_class = serializers.CharField() source_sensor = serializers.CharField() source_collection = serializers.CharField() source_task = serializers.CharField() last_modified = serializers.DateTimeField() # TODO: update to use GeoJson instead of WKT geometry = WktField() center_point = WktField() countries = serializers.StringRelatedField(many=True, read_only=True) job_type = JobTypeBaseSerializerV6() job = ModelIdSerializer() job_exe = ModelIdSerializer() job_output = serializers.CharField() recipe_type = RecipeTypeBaseSerializerV6() recipe = ModelIdSerializer() recipe_node = serializers.CharField() batch = BatchBaseSerializerV6() is_superseded = serializers.BooleanField() superseded = serializers.DateTimeField()
class RecipeTypeSerializer(RecipeTypeBaseSerializer): """Converts recipe type model fields to REST output.""" is_active = serializers.BooleanField() definition = serializers.JSONField() revision_num = serializers.IntegerField() created = serializers.DateTimeField() last_modified = serializers.DateTimeField() archived = serializers.DateTimeField() trigger_rule = ModelIdSerializer()
class RecipeTypeSerializerV5(RecipeTypeBaseSerializerV5): """Converts recipe type model fields to REST output.""" is_system = serializers.BooleanField() is_active = serializers.BooleanField() definition = serializers.JSONField(default=dict) revision_num = serializers.IntegerField() created = serializers.DateTimeField() last_modified = serializers.DateTimeField() archived = serializers.DateTimeField(source='deprecated') trigger_rule = ModelIdSerializer()
class IngestDetailsSerializerV6(IngestSerializerV6): """Converts ingest model fields to REST output""" scan = ScanDetailsSerializerV6() strike = StrikeDetailsSerializerV6() workspace = WorkspaceDetailsSerializerV6() new_workspace = WorkspaceDetailsSerializerV6() job = ModelIdSerializer() source_file = SourceFileSerializer()
class IngestSerializerV5(IngestBaseSerializer): """Converts ingest model fields to REST output""" scan = ScanBaseSerializer() strike = StrikeBaseSerializer() workspace = WorkspaceSerializerV5() new_workspace = WorkspaceSerializerV5() job = ModelIdSerializer() source_file = SourceFileBaseSerializer()
class JobExecutionSerializerV6(JobExecutionBaseSerializerV6): """Converts job execution model fields to REST output""" from error.serializers import ErrorBaseSerializerV6 from node.serializers import NodeBaseSerializer job = ModelIdSerializer() node = NodeBaseSerializer() error = ErrorBaseSerializerV6(source='jobexecutionend.error') job_type = JobTypeBaseSerializerV6() timeout = serializers.IntegerField() input_file_size = serializers.FloatField()
class IngestBaseSerializer(ModelIdSerializer): """Converts ingest model fields to REST output""" file_name = serializers.CharField() scan = ModelIdSerializer() strike = ModelIdSerializer() status = serializers.ChoiceField(choices=Ingest.INGEST_STATUSES) bytes_transferred = serializers.IntegerField() # TODO: BigIntegerField? transfer_started = serializers.DateTimeField() transfer_ended = serializers.DateTimeField() media_type = serializers.CharField() file_size = serializers.IntegerField() # TODO: BigIntegerField? data_type = DataTypeField() file_path = serializers.CharField() workspace = ModelIdSerializer() new_file_path = serializers.CharField() new_workspace = ModelIdSerializer() job = ModelIdSerializer() ingest_started = serializers.DateTimeField() ingest_ended = serializers.DateTimeField() source_file = ModelIdSerializer() data_started = serializers.DateTimeField() data_ended = serializers.DateTimeField() created = serializers.DateTimeField() last_modified = serializers.DateTimeField()
class IngestBaseSerializer(ModelIdSerializer): '''Converts ingest model fields to REST output''' from storage.serializers import DataTypeField file_name = serializers.CharField() strike = ModelIdSerializer() status = serializers.ChoiceField(choices=Ingest.INGEST_STATUSES) bytes_transferred = serializers.IntegerField() # TODO: BigIntegerField? transfer_started = serializers.DateTimeField() transfer_ended = serializers.DateTimeField() media_type = serializers.CharField() file_size = serializers.IntegerField() # TODO: BigIntegerField? data_type = DataTypeField() ingest_started = serializers.DateTimeField() ingest_ended = serializers.DateTimeField() source_file = ModelIdSerializer() created = serializers.DateTimeField() last_modified = serializers.DateTimeField()
class RecipeSerializerV6(RecipeBaseSerializerV6): """Converts recipe model fields to REST output.""" from batch.serializers import BatchBaseSerializerV6 from ingest.ingest_event_serializers import IngestEventBaseSerializerV6 from trigger.serializers import TriggerEventBaseSerializerV6 recipe_type_rev = RecipeTypeRevisionBaseSerializerV6() event = TriggerEventBaseSerializerV6() ingest_event = IngestEventBaseSerializerV6() batch = BatchBaseSerializerV6() recipe = RecipeBaseSerializerV6() is_superseded = serializers.BooleanField() superseded_recipe = ModelIdSerializer() superseded_by_recipe = None input_file_size = serializers.FloatField() source_started = serializers.DateTimeField() source_ended = serializers.DateTimeField() source_sensor_class = serializers.CharField() source_sensor = serializers.CharField() source_collection = serializers.CharField() source_task = serializers.CharField() jobs_total = serializers.IntegerField() jobs_pending = serializers.IntegerField() jobs_blocked = serializers.IntegerField() jobs_queued = serializers.IntegerField() jobs_running = serializers.IntegerField() jobs_failed = serializers.IntegerField() jobs_completed = serializers.IntegerField() jobs_canceled = serializers.IntegerField() sub_recipes_total = serializers.IntegerField() sub_recipes_completed = serializers.IntegerField() is_completed = serializers.BooleanField() created = serializers.DateTimeField() completed = serializers.DateTimeField() superseded = serializers.DateTimeField() last_modified = serializers.DateTimeField()
class ProductFileBaseSerializer(ScaleFileSerializerV6): """Converts product file model fields to REST output""" is_published = serializers.BooleanField() has_been_published = serializers.BooleanField() is_superseded = serializers.BooleanField() published = serializers.DateTimeField() unpublished = serializers.DateTimeField() superseded = serializers.DateTimeField() source_started = serializers.DateTimeField() source_ended = serializers.DateTimeField() job_type = ModelIdSerializer() job = ModelIdSerializer() job_exe = ModelIdSerializer() recipe_type = ModelIdSerializer() recipe = ModelIdSerializer() batch = ModelIdSerializer()
class RecipeTypeRevisionBaseSerializer(ModelIdSerializer): """Converts recipe type revision model fields to REST output.""" recipe_type = ModelIdSerializer() revision_num = serializers.IntegerField()
class RecipeTypeRevisionBaseSerializerV6(ModelIdSerializer): """Base serializer for recipe type revisions""" recipe_type = ModelIdSerializer() revision_num = serializers.IntegerField()
class JobTypeRevisionBaseSerializer(ModelIdSerializer): """Converts job type revision model fields to REST output.""" job_type = ModelIdSerializer() revision_num = serializers.IntegerField()
class DataSetMemberDetailsSerializerV6(DataSetMemberSerializerV6): dataset = ModelIdSerializer() files = DataSetFileSerializerV6(required=False, many=True)
class RecipeBaseSerializer(ModelIdSerializer): """Converts recipe model fields to REST output.""" recipe_type = ModelIdSerializer() recipe_type_rev = ModelIdSerializer() event = ModelIdSerializer()