bacommon.build
Functionality related to game builds.
1# Released under the MIT License. See LICENSE for details. 2# 3"""Functionality related to game builds.""" 4 5from __future__ import annotations 6 7import datetime 8from dataclasses import dataclass, field 9from typing import TYPE_CHECKING, Annotated 10 11from efro.dataclassio import ioprepped, IOAttrs 12 13if TYPE_CHECKING: 14 pass 15 16 17@ioprepped 18@dataclass 19class BuildInfoSet: 20 """Set of build infos.""" 21 22 @dataclass 23 class Entry: 24 """Info about a particular app build.""" 25 26 filename: Annotated[str, IOAttrs('fname')] 27 size: Annotated[int, IOAttrs('size')] 28 version: Annotated[str, IOAttrs('version')] 29 build_number: Annotated[int, IOAttrs('build')] 30 checksum: Annotated[str, IOAttrs('checksum')] 31 createtime: Annotated[datetime.datetime, IOAttrs('createtime')] 32 33 builds: Annotated[list[Entry], IOAttrs('builds')] = field( 34 default_factory=list 35 )
@ioprepped
@dataclass
class
BuildInfoSet:
18@ioprepped 19@dataclass 20class BuildInfoSet: 21 """Set of build infos.""" 22 23 @dataclass 24 class Entry: 25 """Info about a particular app build.""" 26 27 filename: Annotated[str, IOAttrs('fname')] 28 size: Annotated[int, IOAttrs('size')] 29 version: Annotated[str, IOAttrs('version')] 30 build_number: Annotated[int, IOAttrs('build')] 31 checksum: Annotated[str, IOAttrs('checksum')] 32 createtime: Annotated[datetime.datetime, IOAttrs('createtime')] 33 34 builds: Annotated[list[Entry], IOAttrs('builds')] = field( 35 default_factory=list 36 )
Set of build infos.
BuildInfoSet( builds: Annotated[list[BuildInfoSet.Entry], <efro.dataclassio.IOAttrs object>] = <factory>)
builds: Annotated[list[BuildInfoSet.Entry], <efro.dataclassio.IOAttrs object at 0x1069e8fb0>]
@dataclass
class
BuildInfoSet.Entry:
23 @dataclass 24 class Entry: 25 """Info about a particular app build.""" 26 27 filename: Annotated[str, IOAttrs('fname')] 28 size: Annotated[int, IOAttrs('size')] 29 version: Annotated[str, IOAttrs('version')] 30 build_number: Annotated[int, IOAttrs('build')] 31 checksum: Annotated[str, IOAttrs('checksum')] 32 createtime: Annotated[datetime.datetime, IOAttrs('createtime')]
Info about a particular app build.
BuildInfoSet.Entry( filename: Annotated[str, <efro.dataclassio.IOAttrs object>], size: Annotated[int, <efro.dataclassio.IOAttrs object>], version: Annotated[str, <efro.dataclassio.IOAttrs object>], build_number: Annotated[int, <efro.dataclassio.IOAttrs object>], checksum: Annotated[str, <efro.dataclassio.IOAttrs object>], createtime: Annotated[datetime.datetime, <efro.dataclassio.IOAttrs object>])
filename: Annotated[str, <efro.dataclassio.IOAttrs object at 0x1069eab40>]
size: Annotated[int, <efro.dataclassio.IOAttrs object at 0x1069ea4e0>]
version: Annotated[str, <efro.dataclassio.IOAttrs object at 0x1069e8f50>]
build_number: Annotated[int, <efro.dataclassio.IOAttrs object at 0x1069e9070>]
checksum: Annotated[str, <efro.dataclassio.IOAttrs object at 0x1069e8ec0>]
createtime: Annotated[datetime.datetime, <efro.dataclassio.IOAttrs object at 0x1069ea9c0>]