Skip to content

Commit 19a322a

Browse files
committed
Black code
1 parent a22e10f commit 19a322a

File tree

1 file changed

+81
-67
lines changed

1 file changed

+81
-67
lines changed

cvat/apps/engine/rq_job_handler.py

+81-67
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class UserInfo:
4141
def to_dict(self) -> dict[str, Any]:
4242
return asdict(self)
4343

44+
4445
@attrs.frozen
4546
class RequestInfo:
4647
uuid: str = attrs.field(validator=[str_validator])
@@ -50,6 +51,7 @@ class RequestInfo:
5051
def to_dict(self) -> dict[str, Any]:
5152
return asdict(self)
5253

54+
5355
@attrs.frozen
5456
class ExportResultInfo:
5557
url: str | None = attrs.field(validator=[optional_str_validator])
@@ -59,7 +61,6 @@ def to_dict(self) -> dict[str, Any]:
5961
return asdict(self)
6062

6163

62-
6364
@attrs.define
6465
class AbstractRQMeta(metaclass=ABCMeta):
6566
_job: RQJob | None = attrs.field(init=False, default=None)
@@ -81,16 +82,13 @@ def save(self) -> None:
8182

8283
@staticmethod
8384
@abstractmethod
84-
def get_resettable_fields() -> list[RQJobMetaField]:
85+
def _get_resettable_fields() -> list[RQJobMetaField]:
8586
"""Return a list of fields that must be reset on retry"""
8687

87-
8888
def reset_meta_on_retry(self) -> dict[RQJobMetaField, Any]:
89-
resettable_fields = self.get_resettable_fields()
89+
resettable_fields = self._get_resettable_fields()
9090

91-
return {
92-
k: v for k, v in self._job.meta.items() if k not in resettable_fields
93-
}
91+
return {k: v for k, v in self._job.meta.items() if k not in resettable_fields}
9492

9593

9694
@attrs.define(kw_only=True)
@@ -101,21 +99,20 @@ class RQMetaWithFailureInfo(AbstractRQMeta):
10199
exc_args: Iterable | None = attrs.field(default=None)
102100

103101
@staticmethod
104-
def get_resettable_fields() -> list[RQJobMetaField]:
102+
def _get_resettable_fields() -> list[RQJobMetaField]:
105103
"""Return a list of fields that must be reset on retry"""
106104
return [
107105
RQJobMetaField.FORMATTED_EXCEPTION,
108106
RQJobMetaField.EXCEPTION_TYPE,
109107
RQJobMetaField.EXCEPTION_ARGS,
110108
]
111109

110+
112111
@attrs.define(kw_only=True)
113112
class BaseRQMeta(RQMetaWithFailureInfo):
114113
# immutable and required fields
115114
user: UserInfo = attrs.field(
116-
validator=[
117-
attrs.validators.instance_of(UserInfo)
118-
],
115+
validator=[attrs.validators.instance_of(UserInfo)],
119116
converter=lambda d: UserInfo(**d),
120117
on_setattr=attrs.setters.frozen,
121118
)
@@ -126,19 +123,29 @@ class BaseRQMeta(RQMetaWithFailureInfo):
126123
)
127124

128125
# immutable and optional fields
129-
org_id: int | None = attrs.field(validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen)
130-
org_slug: str | None = attrs.field(validator=[optional_str_validator], default=None, on_setattr=attrs.setters.frozen)
131-
project_id: int | None = attrs.field(validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen)
132-
task_id: int | None = attrs.field(validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen)
133-
job_id: int | None = attrs.field(validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen)
126+
org_id: int | None = attrs.field(
127+
validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen
128+
)
129+
org_slug: str | None = attrs.field(
130+
validator=[optional_str_validator], default=None, on_setattr=attrs.setters.frozen
131+
)
132+
project_id: int | None = attrs.field(
133+
validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen
134+
)
135+
task_id: int | None = attrs.field(
136+
validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen
137+
)
138+
job_id: int | None = attrs.field(
139+
validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen
140+
)
134141

135142
# import && lambda
136143
progress: float | None = attrs.field(validator=[optional_float_validator], default=None)
137144

138145
@staticmethod
139-
def get_resettable_fields() -> list[RQJobMetaField]:
146+
def _get_resettable_fields() -> list[RQJobMetaField]:
140147
"""Return a list of fields that must be reset on retry"""
141-
return RQMetaWithFailureInfo.get_resettable_fields() + [RQJobMetaField.PROGRESS]
148+
return RQMetaWithFailureInfo._get_resettable_fields() + [RQJobMetaField.PROGRESS]
142149

143150
@classmethod
144151
def build(
@@ -176,14 +183,15 @@ def build(
176183
job_id=jid,
177184
).to_dict()
178185

186+
179187
@attrs.define(kw_only=True)
180188
class ExportRQMeta(BaseRQMeta):
181-
result: ExportResultInfo= attrs.field(converter=lambda d: ExportResultInfo(**d))
189+
result: ExportResultInfo = attrs.field(converter=lambda d: ExportResultInfo(**d))
182190

183191
@staticmethod
184-
def get_resettable_fields() -> list[RQJobMetaField]:
192+
def _get_resettable_fields() -> list[RQJobMetaField]:
185193
"""Return a list of fields that must be reset on retry"""
186-
base_fields = BaseRQMeta.get_resettable_fields()
194+
base_fields = BaseRQMeta._get_resettable_fields()
187195
return base_fields + [RQJobMetaField.RESULT]
188196

189197
@classmethod
@@ -205,25 +213,30 @@ def build(
205213
).to_dict(),
206214
).to_dict()
207215

216+
208217
@attrs.define(kw_only=True)
209218
class ImportRQMeta(BaseRQMeta):
210219
# immutable && optional fields
211-
tmp_file: str | None = attrs.field(validator=[optional_str_validator], default=None, on_setattr=attrs.setters.frozen)
220+
tmp_file: str | None = attrs.field(
221+
validator=[optional_str_validator], default=None, on_setattr=attrs.setters.frozen
222+
)
212223

213224
# mutable fields
214225
# TODO: move into base?
215-
status: str = attrs.field(validator=[optional_str_validator], default="", on_setattr=_update_value)
216-
task_progress: float | None = attrs.field(validator=[optional_float_validator],default=None)
226+
status: str = attrs.field(
227+
validator=[optional_str_validator], default="", on_setattr=_update_value
228+
)
229+
task_progress: float | None = attrs.field(validator=[optional_float_validator], default=None)
217230

218231
@staticmethod
219-
def get_resettable_fields() -> list[RQJobMetaField]:
232+
def _get_resettable_fields() -> list[RQJobMetaField]:
220233
"""Return a list of fields that must be reset on retry"""
221-
base_fields = BaseRQMeta.get_resettable_fields()
234+
base_fields = BaseRQMeta._get_resettable_fields()
222235

223236
return base_fields + [
224237
RQJobMetaField.PROGRESS,
225238
RQJobMetaField.TASK_PROGRESS,
226-
RQJobMetaField.STATUS
239+
RQJobMetaField.STATUS,
227240
]
228241

229242
@classmethod
@@ -239,14 +252,21 @@ def build(
239252
return cls(
240253
**base_meta,
241254
tmp_file=tmp_file,
242-
243255
).to_dict()
244256

257+
245258
@attrs.define(kw_only=True)
246259
class LambdaRQMeta(BaseRQMeta):
247260
# immutable fields
248-
function_id: int | None = attrs.field(validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen)
249-
lambda_: bool | None = attrs.field(validator=[optional_bool_validator], init=False, default=True, on_setattr=attrs.setters.frozen)
261+
function_id: int | None = attrs.field(
262+
validator=[optional_int_validator], default=None, on_setattr=attrs.setters.frozen
263+
)
264+
lambda_: bool | None = attrs.field(
265+
validator=[optional_bool_validator],
266+
init=False,
267+
default=True,
268+
on_setattr=attrs.setters.frozen,
269+
)
250270

251271
def to_dict(self) -> dict:
252272
d = asdict(self)
@@ -270,55 +290,51 @@ def build(
270290
).to_dict()
271291

272292

273-
# TODO: check that RQJobMetaField is used only in this module
274293
class RQJobMetaField:
275294
# common fields
276295
FORMATTED_EXCEPTION = "formatted_exception"
277-
REQUEST = 'request'
278-
USER = 'user'
279-
PROJECT_ID = 'project_id'
280-
TASK_ID = 'task_id'
281-
JOB_ID = 'job_id'
282-
LAMBDA = 'lambda'
283-
ORG_ID = 'org_id'
284-
ORG_SLUG = 'org_slug'
285-
STATUS = 'status'
286-
PROGRESS = 'progress'
287-
TASK_PROGRESS = 'task_progress'
296+
REQUEST = "request"
297+
USER = "user"
298+
PROJECT_ID = "project_id"
299+
TASK_ID = "task_id"
300+
JOB_ID = "job_id"
301+
LAMBDA = "lambda"
302+
ORG_ID = "org_id"
303+
ORG_SLUG = "org_slug"
304+
STATUS = "status"
305+
PROGRESS = "progress"
306+
TASK_PROGRESS = "task_progress"
288307
# export specific fields
289-
RESULT_URL = 'result_url'
290-
RESULT = 'result'
291-
FUNCTION_ID = 'function_id'
292-
EXCEPTION_TYPE = 'exc_type'
293-
EXCEPTION_ARGS = 'exc_args'
308+
RESULT_URL = "result_url"
309+
RESULT = "result"
310+
FUNCTION_ID = "function_id"
311+
EXCEPTION_TYPE = "exc_type"
312+
EXCEPTION_ARGS = "exc_args"
313+
294314

295315
def is_rq_job_owner(rq_job: RQJob, user_id: int) -> bool:
296-
return rq_job.meta.get(RQJobMetaField.USER, {}).get('id') == user_id
316+
return rq_job.meta.get(RQJobMetaField.USER, {}).get("id") == user_id
317+
297318

298319
@attrs.frozen()
299320
class RQId:
300-
action: RequestAction = attrs.field(
301-
validator=attrs.validators.instance_of(RequestAction)
302-
)
303-
target: RequestTarget = attrs.field(
304-
validator=attrs.validators.instance_of(RequestTarget)
305-
)
306-
identifier: Union[int, UUID] = attrs.field(
307-
validator=attrs.validators.instance_of((int, UUID))
308-
)
321+
action: RequestAction = attrs.field(validator=attrs.validators.instance_of(RequestAction))
322+
target: RequestTarget = attrs.field(validator=attrs.validators.instance_of(RequestTarget))
323+
identifier: Union[int, UUID] = attrs.field(validator=attrs.validators.instance_of((int, UUID)))
309324
subresource: Optional[RequestSubresource] = attrs.field(
310-
validator=attrs.validators.optional(
311-
attrs.validators.instance_of(RequestSubresource)
312-
),
313-
kw_only=True, default=None,
325+
validator=attrs.validators.optional(attrs.validators.instance_of(RequestSubresource)),
326+
kw_only=True,
327+
default=None,
314328
)
315329
user_id: Optional[int] = attrs.field(
316330
validator=attrs.validators.optional(attrs.validators.instance_of(int)),
317-
kw_only=True, default=None,
331+
kw_only=True,
332+
default=None,
318333
)
319334
format: Optional[str] = attrs.field(
320335
validator=attrs.validators.optional(attrs.validators.instance_of(str)),
321-
kw_only=True, default=None,
336+
kw_only=True,
337+
default=None,
322338
)
323339

324340
_OPTIONAL_FIELD_REQUIREMENTS = {
@@ -353,9 +369,7 @@ def render(
353369
return f"{common_prefix}-{self.subresource}"
354370
elif RequestAction.EXPORT == self.action:
355371
if self.format is None:
356-
return (
357-
f"{common_prefix}-{self.subresource}-by-{self.user_id}"
358-
)
372+
return f"{common_prefix}-{self.subresource}-by-{self.user_id}"
359373

360374
format_to_be_used_in_urls = self.format.replace(" ", "_").replace(".", "@")
361375
return f"{common_prefix}-{self.subresource}-in-{format_to_be_used_in_urls}-format-by-{self.user_id}"
@@ -382,7 +396,7 @@ def parse(rq_id: str) -> RQId:
382396
elif RequestAction.IMPORT == action:
383397
identifier, subresource_str = unparsed.rsplit("-", maxsplit=1)
384398
subresource = RequestSubresource(subresource_str)
385-
else: # action == export
399+
else: # action == export
386400
identifier, subresource_str, unparsed = unparsed.split("-", maxsplit=2)
387401
subresource = RequestSubresource(subresource_str)
388402

0 commit comments

Comments
 (0)