|
5 | 5 | import dataclasses |
6 | 6 | import inspect |
7 | 7 | import pathlib |
8 | | -import sys |
9 | 8 | from dataclasses import MISSING, dataclass, field, fields |
10 | 9 | from typing import ( |
11 | 10 | Any, |
@@ -45,20 +44,14 @@ async def run(self) -> None: ... |
45 | 44 |
|
46 | 45 |
|
47 | 46 | def option(*param_decls: str, **kwargs: Any) -> Any: |
48 | | - if sys.version_info >= (3, 10): |
49 | | - default_default = MISSING |
50 | | - else: # versions < 3.10 don't know about kw_only and they complain about lacks of defaults |
51 | | - # Can't get coverage on this because we only test on one version |
52 | | - default_default = None # pragma: no cover |
53 | | - |
54 | 47 | return field( |
55 | 48 | metadata=dict( |
56 | 49 | option_args=dict( |
57 | 50 | param_decls=tuple(param_decls), |
58 | 51 | **kwargs, |
59 | 52 | ), |
60 | 53 | ), |
61 | | - default=kwargs.get("default", default_default), |
| 54 | + default=kwargs.get("default", MISSING), |
62 | 55 | ) |
63 | 56 |
|
64 | 57 |
|
@@ -270,16 +263,10 @@ def chia_command( |
270 | 263 | def _chia_command(cls: type[ChiaCommand]) -> type[ChiaCommand]: |
271 | 264 | # The type ignores here are largely due to the fact that the class information is not preserved after being |
272 | 265 | # passed through the dataclass wrapper. Not sure what to do about this right now. |
273 | | - if sys.version_info >= (3, 10): |
274 | | - wrapped_cls: type[ChiaCommand] = dataclass( |
275 | | - frozen=True, |
276 | | - kw_only=True, |
277 | | - )(cls) |
278 | | - else: # pragma: no cover |
279 | | - # stuff below 3.10 doesn't know about kw_only |
280 | | - wrapped_cls: type[ChiaCommand] = dataclass( |
281 | | - frozen=True, |
282 | | - )(cls) |
| 266 | + wrapped_cls: type[ChiaCommand] = dataclass( |
| 267 | + frozen=True, |
| 268 | + kw_only=True, |
| 269 | + )(cls) |
283 | 270 |
|
284 | 271 | metadata = Metadata( |
285 | 272 | command=click.command( |
@@ -316,9 +303,6 @@ def get_chia_command_metadata(cls: type[ChiaCommand]) -> Metadata: |
316 | 303 |
|
317 | 304 | @dataclass_transform(frozen_default=True) |
318 | 305 | def command_helper(cls: type[Any]) -> type[Any]: |
319 | | - if sys.version_info >= (3, 10): |
320 | | - new_cls = dataclass(frozen=True, kw_only=True)(cls) |
321 | | - else: # stuff below 3.10 doesn't support kw_only |
322 | | - new_cls = dataclass(frozen=True)(cls) # pragma: no cover |
| 306 | + new_cls = dataclass(frozen=True, kw_only=True)(cls) |
323 | 307 | setattr(new_cls, COMMAND_HELPER_ATTRIBUTE_NAME, True) |
324 | 308 | return new_cls |
0 commit comments