Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 41 additions & 31 deletions python/socha/api/protocol/protocol.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# ruff: noqa: UP045

from dataclasses import dataclass, field
from typing import Optional

from socha._socha import TeamEnum
from socha.api.protocol.protocol_packet import (
Expand All @@ -23,11 +26,11 @@ class Position:
class Meta:
name = 'position'

x: int | None = field(
x: Optional[int] = field(
default=None,
metadata={'type': 'Attribute'},
)
y: int | None = field(
y: Optional[int] = field(
default=None,
metadata={'type': 'Attribute'},
)
Expand All @@ -42,26 +45,26 @@ class Piece:
class Meta:
name = 'piece'

color: str | None = field(
color: Optional[str] = field(
default=None,
metadata={'type': 'Attribute'},
)
kind: str | None = field(
kind: Optional[str] = field(
default=None,
metadata={'type': 'Attribute'},
)
rotation: str | None = field(
rotation: Optional[str] = field(
default=None,
metadata={'type': 'Attribute'},
)
is_flipped: bool | None = field(
is_flipped: Optional[bool] = field(
default=None,
metadata={
'name': 'isFlipped',
'type': 'Attribute',
},
)
position: Position | None = field(
position: Optional[Position] = field(
default=None,
metadata={'type': 'Element'},
)
Expand All @@ -72,22 +75,22 @@ class LastMove:
class Meta:
name = 'lastMove'

class_binding: object | None = field(default=None)
class_value: str | None = field(
class_binding: Optional[object] = field(default=None)
class_value: Optional[str] = field(
default=None,
metadata={
'name': 'class',
'type': 'Attribute',
'required': True,
},
)
piece: Piece | None = field(
piece: Optional[Piece] = field(
default=None,
metadata={'type': 'Element'},
)
# Für SkipMove: SkipMove.color hat kein @XStreamAsAttribute in Kotlin,
# wird daher als Kindelement serialisiert (nicht als Attribut).
color: str | None = field(
color: Optional[str] = field(
default=None,
metadata={'type': 'Element'},
)
Expand All @@ -98,15 +101,15 @@ class Field:
class Meta:
name = 'field'

x: int | None = field(
x: Optional[int] = field(
default=None,
metadata={'type': 'Attribute'},
)
y: int | None = field(
y: Optional[int] = field(
default=None,
metadata={'type': 'Attribute'},
)
content: str | None = field(
content: Optional[str] = field(
default=None,
metadata={'type': 'Attribute'},
)
Expand Down Expand Up @@ -168,14 +171,14 @@ class LastMoveMonoEntry:
class Meta:
name = 'entry'

color: str | None = field(
color: Optional[str] = field(
default=None,
metadata={
'name': 'sc.plugin2027.Color',
'type': 'Element',
},
)
value: bool | None = field(
value: Optional[bool] = field(
default=None,
metadata={
'name': 'boolean',
Expand Down Expand Up @@ -223,14 +226,21 @@ class Meta:
'required': True,
},
)
start_piece: str | None = field(
start_piece: Optional[str] = field(
default=None,
metadata={
'name': 'startPiece',
'type': 'Attribute',
'required': True,
},
)
round: Optional[int] = field(
default=None,
metadata={
'type': 'Attribute',
'required': True,
},
)
round: int | None = field(
default=None,
metadata={
Expand All @@ -245,49 +255,49 @@ class Meta:
'type': 'Element',
},
)
board: Board | None = field(
board: Optional[Board] = field(
default=None,
metadata={
'type': 'Element',
'required': True,
},
)
last_move_mono: LastMoveMono | None = field(
last_move_mono: Optional[LastMoveMono] = field(
default=None,
metadata={
'name': 'lastMoveMono',
'type': 'Element',
},
)
blue_shapes: ShapeList | None = field(
blue_shapes: Optional[ShapeList] = field(
default=None,
metadata={
'name': 'blueShapes',
'type': 'Element',
},
)
yellow_shapes: ShapeList | None = field(
yellow_shapes: Optional[ShapeList] = field(
default=None,
metadata={
'name': 'yellowShapes',
'type': 'Element',
},
)
red_shapes: ShapeList | None = field(
red_shapes: Optional[ShapeList] = field(
default=None,
metadata={
'name': 'redShapes',
'type': 'Element',
},
)
green_shapes: ShapeList | None = field(
green_shapes: Optional[ShapeList] = field(
default=None,
metadata={
'name': 'greenShapes',
'type': 'Element',
},
)
valid_colors: ColorList | None = field(
valid_colors: Optional[ColorList] = field(
default=None,
metadata={
'name': 'validColors',
Expand All @@ -301,14 +311,14 @@ class Player:
class Meta:
name = 'player'

name: str | None = field(
name: Optional[str] = field(
default=None,
metadata={
'type': 'Attribute',
'required': True,
},
)
team: str | None = field(
team: Optional[str] = field(
default=None,
metadata={
'type': 'Attribute',
Expand Down Expand Up @@ -829,11 +839,11 @@ class Meta:
'required': True,
},
)
piece: Piece | None = field(
piece: Optional[Piece] = field(
default=None,
metadata={'type': 'Element'},
)
color: str | None = field(
color: Optional[str] = field(
default=None,
metadata={'type': 'Element'},
)
Expand Down Expand Up @@ -895,21 +905,21 @@ class Meta:
},
)
# Nur für welcomeMessage: color="ONE"/"TWO" (TeamEnum), als Attribut.
color: str | None = field(
color: Optional[str] = field(
default=None,
metadata={
'type': 'Attribute',
},
)
# Für ausgehenden SetMove.
piece: Piece | None = field(
piece: Optional[Piece] = field(
default=None,
metadata={'type': 'Element'},
)
# Für ausgehenden SkipMove: eigenes Feld, da 'color' oben schon als
# Attribut für welcomeMessage belegt ist. SkipMove.color ist ein
# Kindelement (kein @XStreamAsAttribute in Kotlin).
skip_color: str | None = field(
skip_color: Optional[str] = field(
default=None,
metadata={
'name': 'color',
Expand Down
Loading