Start explicit metadata argument for marshmallow

A side effect of re-locking dependencies is having a newer marshmallow.
This deprecates having `description=` as a keyword, and puts it in a
separate metadata arg instead.

This commit is the start of my search-and-replaceing to update to the new
format.
This commit is contained in:
Richard Bowman 2022-08-09 12:52:57 +01:00
parent 78ef9c531b
commit e22f36b308
14 changed files with 58 additions and 58 deletions

View file

@ -349,7 +349,7 @@ class AutofocusExtension(BaseExtension):
args={
"dz": fields.List(
fields.Int(),
description="An ascending list of relative z positions",
metadata={"description": "An ascending list of relative z positions"},
example=[int(x) for x in np.linspace(-300, 300, 7)],
)
}
@ -410,7 +410,7 @@ class AutofocusExtension(BaseExtension):
@extension_action(
args={
"dz": fields.Int(required=True, description="The relative Z move to make")
"dz": fields.Int(required=True, metadata={"description": "The relative Z move to make"})
}
)
def move_and_measure(
@ -432,9 +432,9 @@ class AutofocusExtension(BaseExtension):
@extension_action(
args={
"dz": fields.Int(
missing=2000,
load_default=2000,
example=2000,
description="Total Z range to search over (in stage steps)",
metadata={"description": "Total Z range to search over (in stage steps)"},
)
}
)
@ -528,14 +528,14 @@ class AutofocusExtension(BaseExtension):
@extension_action(
args={
"dz": fields.Int(
missing=500,
load_default=500,
example=500,
description="Total Z range to move down, then up (in stage steps)",
metadata={"description": "Total Z range to move down, then up (in stage steps)"},
),
"delay": fields.Int(
missing=5,
load_default=5,
example=5,
description="How long to measure sharpness for after the move",
metadata={"description": "How long to measure sharpness for after the move"},
),
}
)
@ -556,23 +556,23 @@ class AutofocusExtension(BaseExtension):
@extension_action(
args={
"dz": fields.Int(
missing=2000,
load_default=2000,
example=2000,
description="Total Z range to search over (in stage steps)",
metadata={"description": "Total Z range to search over (in stage steps)"},
),
"target_z": fields.Int(
missing=0,
load_default=0,
example=-100,
description="Target finishing position, relative to the focus.",
metadata={"description": "Target finishing position, relative to the focus."},
),
"initial_move_up": fields.Bool(
missing=True,
description="Set to Flase to disable the initial move upwards",
load_default=True,
metadata={"description": "Set to Flase to disable the initial move upwards"},
),
"backlash": fields.Int(
missing=25,
load_default=25,
minimum=0,
description="Distance to undershoot, before correction move.",
metadata={"description": "Distance to undershoot, before correction move."},
),
}
)

View file

@ -298,10 +298,10 @@ class CalibrateXYView(ActionView):
class MoveInImageCoordinatesView(ActionView):
args = {
"x": fields.Float(
description="The number of pixels to move in X", required=True, example=100
metadata={"description": "The number of pixels to move in X"}, required=True, example=100
),
"y": fields.Float(
description="The number of pixels to move in Y", required=True, example=100
metadata={"description": "The number of pixels to move in Y"}, required=True, example=100
),
}
@ -316,10 +316,10 @@ class MoveInImageCoordinatesView(ActionView):
class ClosedLoopMoveInImageCoordinatesView(ActionView):
args = {
"x": fields.Float(
description="The number of pixels to move in X", required=True, example=100
metadata={"description": "The number of pixels to move in X"}, required=True, example=100
),
"y": fields.Float(
description="The number of pixels to move in Y", required=True, example=100
metadata={"description": "The number of pixels to move in Y"}, required=True, example=100
),
}
@ -336,13 +336,13 @@ class ClosedLoopMoveInImageCoordinatesView(ActionView):
class TestClosedLoopSpiralScanView(ActionView):
args = {
"x_step": fields.Float(
description="The number of pixels to move in X", required=True, example=100
metadata={"description": "The number of pixels to move in X"}, required=True, example=100
),
"y_step": fields.Float(
description="The number of pixels to move in Y", required=True, example=100
metadata={"description": "The number of pixels to move in Y"}, required=True, example=100
),
"N": fields.Int(
description="The number of rings in the spiral scan",
metadata={"description": "The number of rings in the spiral scan"},
required=True,
example=3,
),

View file

@ -172,20 +172,20 @@ class DeleteLSTView(ActionView):
class AutoExposureFromRawView(ActionView):
args = {
"target_white_level": fields.Int(
missing=700,
load_default=700,
example=700,
description=(
"The pixel value (10-bit format) that we aim for when adjusting shutter/gain."
),
),
"max_iterations": fields.Int(
missing=20,
load_default=20,
description=(
"The number of adjustments to the camera's settings to make before giving up."
),
),
"tolerance": fields.Float(
missing=0.05,
load_default=0.05,
example=0.05,
description=(
"We stop adjusting when we get within this fraction of the target "
@ -193,7 +193,7 @@ class AutoExposureFromRawView(ActionView):
),
),
"percentile": fields.Float(
missing=99.9,
load_default=99.9,
example=99.9,
description=(
"A float between 0 and 100 setting the centile to use "
@ -212,7 +212,7 @@ class AutoExposureFromRawView(ActionView):
class AutoWhiteBalanceFromRawView(ActionView):
args = {
"percentile": fields.Float(
missing=99.9,
load_default=99.9,
example=99.9,
description=(
"A float between 0 and 100 setting the centile to use "
@ -232,7 +232,7 @@ class GetRawChannelPercentilesView(ActionView):
args = {
"percentile": fields.Float(
example=99.9,
description="A float between 0 and 100 setting the centile to calculate",
metadata={"description": "A float between 0 and 100 setting the centile to calculate"},
)
}
schema = fields.List(fields.Integer)

View file

@ -578,19 +578,19 @@ class ScanExtension(BaseExtension):
class TileScanArgs(FullCaptureArgs):
namemode = fields.String(missing="coordinates", example="coordinates")
namemode = fields.String(load_default="coordinates", example="coordinates")
grid = fields.List(
fields.Integer(validate=marshmallow.validate.Range(min=1)),
missing=[3, 3, 3],
load_default=[3, 3, 3],
example=[3, 3, 3],
)
style = fields.String(missing="raster")
autofocus_dz = fields.Integer(missing=50)
fast_autofocus = fields.Boolean(missing=False)
style = fields.String(load_default="raster")
autofocus_dz = fields.Integer(load_default=50)
fast_autofocus = fields.Boolean(load_default=False)
stride_size = fields.List(
fields.Integer, missing=[2000, 1500, 100], example=[2000, 1500, 100]
fields.Integer, load_default=[2000, 1500, 100], example=[2000, 1500, 100]
)
detect_empty_fields_and_skip_autofocus = fields.Boolean(missing=False)
detect_empty_fields_and_skip_autofocus = fields.Boolean(load_default=False)
class TileScanAPI(ActionView):

View file

@ -24,7 +24,7 @@ class RaiseException(ActionView):
class SleepFor(ActionView):
schema = {"TimeAsleep": fields.Float()}
args = {"time": fields.Float(description="Time to sleep, in seconds", example=0.5)}
args = {"time": fields.Float(metadata={"description": "Time to sleep, in seconds"}, example=0.5)}
def post(self, args):
sleep_time: int = args.get("time", 0)

View file

@ -15,18 +15,18 @@ class CaptureResizeSchema(Schema):
class BasicCaptureArgs(Schema):
use_video_port = fields.Boolean(missing=False)
use_video_port = fields.Boolean(load_default=False)
bayer = fields.Boolean(
missing=False, description="Include raw bayer data in capture"
load_default=False, metadata={"description": "Include raw bayer data in capture"}
)
resize = fields.Nested(CaptureResizeSchema(), required=False)
class FullCaptureArgs(BasicCaptureArgs):
filename = fields.String(example="MyFileName")
temporary = fields.Boolean(missing=False, description="Delete capture on shutdown")
annotations = fields.Dict(missing={}, example={"Client": "SwaggerUI"})
tags = fields.List(fields.String, missing=[], example=["docs"])
temporary = fields.Boolean(load_default=False, metadata={"description": "Delete capture on shutdown"})
annotations = fields.Dict(load_default={}, example={"Client": "SwaggerUI"})
tags = fields.List(fields.String, load_default=[], example=["docs"])
class CaptureAPI(ActionView):
@ -113,7 +113,7 @@ class GPUPreviewStartAPI(ActionView):
in the format ``[x, y, width, height]``.
"""
args = {"window": fields.List(fields.Integer, missing=[], example=[0, 0, 640, 480])}
args = {"window": fields.List(fields.Integer, load_default=[], example=[0, 0, 640, 480])}
def post(self, args):
"""

View file

@ -7,11 +7,11 @@ from labthings.views import ActionView
class MoveStageAPI(ActionView):
args = {
"absolute": fields.Boolean(
missing=False, example=False, description="Move to an absolute position"
load_default=False, example=False, metadata={"description": "Move to an absolute position"}
),
"x": fields.Int(missing=None, example=100, allow_none=False),
"y": fields.Int(missing=None, example=100, allow_none=False),
"z": fields.Int(missing=None, example=20, allow_none=False),
"x": fields.Int(load_default=None, example=100, allow_none=False),
"y": fields.Int(load_default=None, example=100, allow_none=False),
"z": fields.Int(load_default=None, example=20, allow_none=False),
}
def post(self, args):

View file

@ -59,7 +59,7 @@ class CaptureSchema(ImageSchema):
# without the server having to do a tonne of file IO
dataset = fields.Nested(BasicDatasetSchema())
file = fields.String(
data_key="path", description="Path of file on microscope device"
data_key="path", metadata={"description": "Path of file on microscope device"}
)
# No need to make a schema for links as we only ever
# create the dictionary right here in `generate_links`

View file

@ -7,10 +7,10 @@ class StageTypeProperty(PropertyView):
"""The type of the stage"""
schema = fields.String(
missing=None,
load_default=None,
example="SangaStage",
validate=validate.OneOf(["SangaStage", "SangaDeltaStage"]),
description="The translation stage geometry",
metadata={"description": "The translation stage geometry"},
allow_none=False,
)