1
0
mirror of synced 2025-02-21 21:09:29 +01:00

Apply Final to a few more miscelaneous classes outside of frontend.

This commit is contained in:
Jennifer Taylor 2021-09-07 17:57:18 +00:00
parent 469df34bea
commit 3863b9f048
6 changed files with 22 additions and 16 deletions

View File

@ -1,5 +1,6 @@
import time import time
from typing import Optional, Dict, List, Tuple, Any from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from bemani.client.common import random_hex_string from bemani.client.common import random_hex_string
from bemani.client.protocol import ClientProtocol from bemani.client.protocol import ClientProtocol
@ -13,13 +14,13 @@ class BaseClient:
and verify some basic packets that are always expected to work. and verify some basic packets that are always expected to work.
""" """
CARD_OK = 0 CARD_OK: Final[int] = 0
CARD_NEW = 112 CARD_NEW: Final[int] = 112
CARD_BAD_PIN = 116 CARD_BAD_PIN: Final[int] = 116
CARD_NOT_ALLOWED = 110 CARD_NOT_ALLOWED: Final[int] = 110
CORRECT_PASSWORD = '1234' CORRECT_PASSWORD: Final[str] = '1234'
WRONG_PASSWORD = '4321' WRONG_PASSWORD: Final[str] = '4321'
def __init__(self, proto: ClientProtocol, pcbid: str, config: Dict[str, Any]) -> None: def __init__(self, proto: ClientProtocol, pcbid: str, config: Dict[str, Any]) -> None:
self.__proto = proto self.__proto = proto

View File

@ -1,6 +1,7 @@
import json import json
import requests import requests
from typing import Tuple, Dict, List, Any, Optional from typing import Tuple, Dict, List, Any, Optional
from typing_extensions import Final
from bemani.common import APIConstants, GameConstants, VersionConstants, DBConstants, ValidatedDict from bemani.common import APIConstants, GameConstants, VersionConstants, DBConstants, ValidatedDict
@ -34,7 +35,7 @@ class APIClient:
A client that fully speaks BEMAPI and can pull information from a remote server. A client that fully speaks BEMAPI and can pull information from a remote server.
""" """
API_VERSION = 'v1' API_VERSION: Final[str] = 'v1'
def __init__(self, base_uri: str, token: str, allow_stats: bool, allow_scores: bool) -> None: def __init__(self, base_uri: str, token: str, allow_stats: bool, allow_scores: bool) -> None:
self.base_uri = base_uri self.base_uri = base_uri

View File

@ -1,6 +1,7 @@
import json import json
import random import random
from typing import Dict, Any, Optional from typing import Dict, Any, Optional
from typing_extensions import Final
from bemani.common import Time from bemani.common import Time
from bemani.data.config import Config from bemani.data.config import Config
@ -38,7 +39,7 @@ class _BytesEncoder(json.JSONEncoder):
class BaseData: class BaseData:
SESSION_LENGTH = 32 SESSION_LENGTH: Final[int] = 32
def __init__(self, config: Config, conn: Connection) -> None: def __init__(self, config: Config, conn: Connection) -> None:
""" """

View File

@ -4,6 +4,7 @@ from sqlalchemy.types import String, Integer, JSON # type: ignore
from sqlalchemy.dialects.mysql import BIGINT as BigInteger # type: ignore from sqlalchemy.dialects.mysql import BIGINT as BigInteger # type: ignore
from sqlalchemy.exc import IntegrityError # type: ignore from sqlalchemy.exc import IntegrityError # type: ignore
from typing import Optional, Dict, List, Tuple, Any from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from passlib.hash import pbkdf2_sha512 # type: ignore from passlib.hash import pbkdf2_sha512 # type: ignore
from bemani.common import ValidatedDict, Profile, GameConstants, Time from bemani.common import ValidatedDict, Profile, GameConstants, Time
@ -165,7 +166,7 @@ class AccountCreationException(Exception):
class UserData(BaseData): class UserData(BaseData):
REF_ID_LENGTH = 16 REF_ID_LENGTH: Final[int] = 16
def from_cardid(self, cardid: str) -> Optional[UserID]: def from_cardid(self, cardid: str) -> Optional[UserID]:
""" """

View File

@ -1,5 +1,6 @@
import struct import struct
from typing import List, Optional, Tuple from typing import List, Optional, Tuple
from typing_extensions import Final
class IIDXChart: class IIDXChart:
@ -11,7 +12,7 @@ class IIDXChart:
clear ranks for IIDX. clear ranks for IIDX.
""" """
CHART_POSITIONS = [1, 0, 2, 7, 6, 8] CHART_POSITIONS: Final[List[int]] = [1, 0, 2, 7, 6, 8]
def __init__(self, data: bytes) -> None: def __init__(self, data: bytes) -> None:
self.__bpm_min: Optional[int] = None self.__bpm_min: Optional[int] = None

View File

@ -1,6 +1,7 @@
import socket import socket
import struct import struct
from typing import Any, Dict, List, Optional, Tuple from typing import Any, Dict, List, Optional, Tuple
from typing_extensions import Final
class InvalidPacketException(Exception): class InvalidPacketException(Exception):
@ -23,8 +24,8 @@ class TCPStream:
SYN -> SYNACK -> ACK flow followed by some data followed by a FIN -> FINACK -> ACK SYN -> SYNACK -> ACK flow followed by some data followed by a FIN -> FINACK -> ACK
flow. Luckily, this is exactly what most HTTP requests look like. flow. Luckily, this is exactly what most HTTP requests look like.
""" """
INBOUND = 'inbound' INBOUND: Final[str] = 'inbound'
OUTBOUND = 'outbound' OUTBOUND: Final[str] = 'outbound'
def __init__(self, packet: Dict[str, Any]) -> None: def __init__(self, packet: Dict[str, Any]) -> None:
""" """
@ -196,10 +197,10 @@ class Sniffer:
A generic python sniffer. Listens to all raw traffic on the machine and parses packets A generic python sniffer. Listens to all raw traffic on the machine and parses packets
down to TCP chunks to be reassembled. down to TCP chunks to be reassembled.
""" """
RECEIVE_SIZE = 1048576 RECEIVE_SIZE: Final[int] = 1048576
ETH_HEADER_LENGTH = 14 ETH_HEADER_LENGTH: Final[int] = 14
IP_HEADER_LENGTH = 20 IP_HEADER_LENGTH: Final[int] = 20
TCP_HEADER_LENGTH = 20 TCP_HEADER_LENGTH: Final[int] = 20
def __init__(self, address: Optional[str]=None, port: Optional[int]=None) -> None: def __init__(self, address: Optional[str]=None, port: Optional[int]=None) -> None:
""" """