Move to importing "Final" from typing, type IIDX ghost dictionary, black pass.

This commit is contained in:
Jennifer Taylor 2026-06-27 03:06:26 +00:00
parent 4897f8e1f0
commit ef64f15595
140 changed files with 97 additions and 234 deletions

View File

@ -1,6 +1,5 @@
from bemani.api.app import app, config
__all__ = [
"app",
"config",

View File

@ -4,7 +4,6 @@ from bemani.api.objects.records import RecordsObject
from bemani.api.objects.profile import ProfileObject
from bemani.api.objects.statistics import StatisticsObject
__all__ = [
"BaseObject",
"CatalogObject",

View File

@ -1,6 +1,5 @@
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from flask.ctx import _AppCtxGlobals

View File

@ -1,7 +1,6 @@
from bemani.backend.dispatch import Dispatch, UnrecognizedPCBIDException
from bemani.backend.base import Base
__all__ = [
"Dispatch",
"UnrecognizedPCBIDException",

View File

@ -1,7 +1,6 @@
from abc import ABC, abstractmethod
import traceback
from typing import Any, Dict, Iterator, List, Optional, Set, Tuple, Type
from typing_extensions import Final
from typing import Any, Dict, Final, Iterator, List, Optional, Set, Tuple, Type
from bemani.common import (
Model,

View File

@ -1,7 +1,6 @@
from bemani.backend.bishi.factory import BishiBashiFactory
from bemani.backend.bishi.base import BishiBashiBase
__all__ = [
"BishiBashiFactory",
"BishiBashiBase",

View File

@ -2,7 +2,6 @@ from bemani.backend.core.core import CoreHandler
from bemani.backend.core.cardmng import CardManagerHandler
from bemani.backend.core.eacoin import PASELIHandler
__all__ = [
"CoreHandler",
"CardManagerHandler",

View File

@ -1,4 +1,4 @@
from typing_extensions import Final
from typing import Final
from bemani.backend.base import Base, Status
from bemani.protocol import Node

View File

@ -1,7 +1,6 @@
from bemani.backend.danevo.factory import DanceEvolutionFactory
from bemani.backend.danevo.base import DanceEvolutionBase
__all__ = [
"DanceEvolutionFactory",
"DanceEvolutionBase",

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Optional
from typing_extensions import Final
from typing import Final, Optional
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler

View File

@ -1,7 +1,6 @@
import base64
import struct
from typing import Any, Dict, List
from typing_extensions import Final
from typing import Any, Dict, Final, List
from bemani.backend.ess import EventLogHandler
from bemani.backend.danevo.base import DanceEvolutionBase

View File

@ -1,7 +1,6 @@
from bemani.backend.ddr.factory import DDRFactory
from bemani.backend.ddr.base import DDRBase
__all__ = [
"DDRFactory",
"DDRBase",

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Optional, List
from typing_extensions import Final
from typing import Final, Optional, List
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, List, Optional
from typing_extensions import Final
from typing import Dict, Final, List, Optional
from bemani.backend.ddr.base import DDRBase
from bemani.backend.ddr.ddrx3 import DDRX3

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, List, Optional
from typing_extensions import Final
from typing import Dict, Final, List, Optional
from bemani.backend.ddr.base import DDRBase
from bemani.backend.ddr.ddr2013 import DDR2013

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import base64
from typing import Any, Dict, List, Optional, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Tuple
from bemani.backend.ess import EventLogHandler
from bemani.backend.ddr.base import DDRBase

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, List, Optional, Tuple
from typing_extensions import Final
from typing import Dict, Final, List, Optional, Tuple
from bemani.backend.ddr.base import DDRBase
from bemani.backend.ddr.stubs import DDRX

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, List, Optional, Union
from typing_extensions import Final
from typing import Dict, Final, List, Optional, Union
from bemani.backend.ddr.base import DDRBase
from bemani.backend.ddr.ddrx2 import DDRX2

View File

@ -1,6 +1,5 @@
from bemani.backend.ess.eventlog import EventLogHandler
__all__ = [
"EventLogHandler",
]

View File

@ -1,7 +1,6 @@
from bemani.backend.iidx.factory import IIDXFactory
from bemani.backend.iidx.base import IIDXBase
__all__ = [
"IIDXFactory",
"IIDXBase",

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import struct
from typing import Optional, Dict, Any, List, Tuple
from typing_extensions import Final
from typing import Final, Optional, Dict, TypedDict, List, Tuple
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler
@ -17,6 +16,14 @@ from bemani.data import Config, Data, Score, Machine, UserID
from bemani.protocol import Node
class GhostDict(TypedDict, total=False):
score: int
ghost: bytes
name: str
pid: int
extid: int
class IIDXBase(CoreHandler, CardManagerHandler, PASELIHandler, Base):
"""
Base game class for all Beatmania IIDX versions. Handles common functionality for
@ -660,8 +667,8 @@ class IIDXBase(CoreHandler, CardManagerHandler, PASELIHandler, Base):
musicid: int,
chart: int,
userid: UserID,
) -> Optional[Dict[str, Any]]:
ghost_score: Dict[str, Any] = None
) -> Optional[GhostDict]:
ghost_score: Optional[GhostDict] = None
if ghost_type == self.GHOST_TYPE_RIVAL:
rival_extid = int(parameter)

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import random
import struct
from typing import Optional, Dict, Any, List, Tuple
from typing_extensions import Final
from typing import Final, Optional, Dict, Any, List, Tuple
from bemani.backend.iidx.base import IIDXBase
from bemani.backend.iidx.course import IIDXCourse

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import random
import struct
from typing import Optional, Dict, Any, List, Tuple
from typing_extensions import Final
from typing import Final, Optional, Dict, Any, List, Tuple
from bemani.backend.iidx.base import IIDXBase
from bemani.backend.iidx.course import IIDXCourse

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Tuple
from typing_extensions import Final
from typing import Final, Tuple
from bemani.backend.iidx.base import IIDXBase
from bemani.common import ValidatedDict

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import random
import struct
from typing import Optional, Dict, Any, List, Tuple
from typing_extensions import Final
from typing import Final, Optional, Dict, Any, List, Tuple
from bemani.backend.iidx.base import IIDXBase
from bemani.backend.iidx.course import IIDXCourse

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import random
import struct
from typing import Optional, Dict, Any, List, Tuple
from typing_extensions import Final
from typing import Final, Optional, Dict, Any, List, Tuple
from bemani.backend.iidx.base import IIDXBase
from bemani.backend.iidx.course import IIDXCourse

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import random
import struct
from typing import Optional, Dict, Any, List, Tuple
from typing_extensions import Final
from typing import Final, Optional, Dict, Any, List, Tuple
from bemani.backend.iidx.base import IIDXBase
from bemani.backend.iidx.course import IIDXCourse

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import random
import struct
from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from typing import Final, Optional, Dict, List, Tuple, Any
from bemani.backend.iidx.base import IIDXBase
from bemani.backend.iidx.tricoro import IIDXTricoro

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import random
from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from typing import Final, Optional, Dict, List, Tuple, Any
from bemani.backend.iidx.base import IIDXBase
from bemani.backend.iidx.stubs import IIDXLincle

View File

@ -1,7 +1,6 @@
from bemani.backend.jubeat.factory import JubeatFactory
from bemani.backend.jubeat.base import JubeatBase
__all__ = [
"JubeatFactory",
"JubeatBase",

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import random
import struct
from typing import Dict, Iterable, List, Optional, Set, Tuple
from typing_extensions import Final
from typing import Dict, Final, Iterable, List, Optional, Set, Tuple
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import random
from typing import Any, Dict, List, Optional, Set, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Set, Tuple
from bemani.backend.jubeat.base import JubeatBase
from bemani.backend.jubeat.common import (

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, List
from typing_extensions import Final
from typing import Any, Dict, Final, List
from bemani.data import UserID
from bemani.backend.jubeat.base import JubeatBase

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import random
from typing import Any, Dict, List, Optional, Set, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Set, Tuple
from bemani.backend.jubeat.base import JubeatBase
from bemani.backend.jubeat.common import (

View File

@ -1,8 +1,7 @@
# vim: set fileencoding=utf-8
import math
import random
from typing import Optional, Dict, List, Any, Set, Tuple
from typing_extensions import Final
from typing import Optional, Dict, Final, List, Any, Set, Tuple
from bemani.backend.base import Status
from bemani.backend.jubeat.common import (

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import random
from typing import Any, Dict, List, Optional, Set, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Set, Tuple
from bemani.backend.base import Status
from bemani.backend.jubeat.base import JubeatBase

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import random
from typing import Any, Dict, List, Optional, Set, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Set, Tuple
from bemani.backend.base import Status
from bemani.backend.jubeat.base import JubeatBase

View File

@ -1,7 +1,6 @@
from bemani.backend.mga.factory import MetalGearArcadeFactory
from bemani.backend.mga.base import MetalGearArcadeBase
__all__ = [
"MetalGearArcadeFactory",
"MetalGearArcadeBase",

View File

@ -1,7 +1,6 @@
from bemani.backend.museca.factory import MusecaFactory
from bemani.backend.museca.base import MusecaBase
__all__ = [
"MusecaFactory",
"MusecaBase",

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, Optional
from typing_extensions import Final
from typing import Dict, Final, Optional
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler

View File

@ -1,5 +1,4 @@
from typing import Any, Dict
from typing_extensions import Final
from typing import Any, Dict, Final
from bemani.backend.ess import EventLogHandler
from bemani.backend.museca.base import MusecaBase

View File

@ -1,5 +1,4 @@
from typing import Optional, Dict, Any
from typing_extensions import Final
from typing import Optional, Final, Dict, Any
from bemani.backend.ess import EventLogHandler
from bemani.backend.museca.base import MusecaBase

View File

@ -1,7 +1,6 @@
from bemani.backend.popn.factory import PopnMusicFactory
from bemani.backend.popn.base import PopnMusicBase
__all__ = [
"PopnMusicFactory",
"PopnMusicBase",

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, Optional, Sequence
from typing_extensions import Final
from typing import Dict, Final, Optional, Sequence
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler

View File

@ -2,8 +2,7 @@
from abc import ABC, abstractmethod
import binascii
import random
from typing import Any, Dict, List, Optional, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Tuple
from bemani.backend.popn.base import PopnMusicBase
from bemani.common import Time, ID, Profile, ValidatedDict, Parallel

View File

@ -1,7 +1,6 @@
# vim: set fileencoding=utf-8
import binascii
from typing import Any, Dict, List
from typing_extensions import Final
from typing import Any, Dict, Final, List
from bemani.backend.popn.base import PopnMusicBase
from bemani.backend.popn.lapistoria import PopnMusicLapistoria

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, List
from typing_extensions import Final
from typing import Any, Dict, Final, List
from bemani.backend.popn.base import PopnMusicBase
from bemani.backend.popn.tunestreet import PopnMusicTuneStreet

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, List
from typing_extensions import Final
from typing import Any, Dict, Final, List
from bemani.backend.popn.base import PopnMusicBase
from bemani.backend.popn.sunnypark import PopnMusicSunnyPark

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, List
from typing_extensions import Final
from typing import Any, Dict, Final, List
from bemani.backend.popn.base import PopnMusicBase
from bemani.backend.popn.fantasia import PopnMusicFantasia

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, Any
from typing_extensions import Final
from typing import Final, Dict, Any
from bemani.backend.popn.base import PopnMusicBase
from bemani.backend.popn.stubs import PopnMusicSengokuRetsuden

View File

@ -1,7 +1,6 @@
from bemani.backend.reflec.factory import ReflecBeatFactory
from bemani.backend.reflec.base import ReflecBeatBase
__all__ = [
"ReflecBeatFactory",
"ReflecBeatBase",

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, List, Optional
from typing_extensions import Final
from typing import Dict, Final, List, Optional
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler

View File

@ -1,5 +1,4 @@
from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from typing import Optional, Dict, Final, List, Tuple, Any
from bemani.backend.reflec.base import ReflecBeatBase
from bemani.backend.reflec.limelight import ReflecBeatLimelight

View File

@ -1,5 +1,4 @@
from typing import Optional, Dict, Any, List, Tuple
from typing_extensions import Final
from typing import Optional, Dict, Final, Any, List, Tuple
from bemani.backend.reflec.base import ReflecBeatBase
from bemani.backend.reflec.colette import ReflecBeatColette

View File

@ -1,5 +1,4 @@
from typing import Optional, Dict, Any, Tuple
from typing_extensions import Final
from typing import Final, Optional, Dict, Any, Tuple
from bemani.backend.reflec.base import ReflecBeatBase
from bemani.backend.reflec.reflecbeat import ReflecBeat

View File

@ -1,5 +1,4 @@
from typing import Any, Dict, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, Tuple
from bemani.backend.reflec.base import ReflecBeatBase

View File

@ -1,5 +1,4 @@
from typing import Dict, List, Tuple
from typing_extensions import Final
from typing import Dict, Final, List, Tuple
from bemani.backend.reflec.base import ReflecBeatBase

View File

@ -1,7 +1,6 @@
from bemani.backend.sdvx.factory import SoundVoltexFactory
from bemani.backend.sdvx.base import SoundVoltexBase
__all__ = [
"SoundVoltexFactory",
"SoundVoltexBase",

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Dict, Optional
from typing_extensions import Final
from typing import Dict, Final, Optional
from bemani.backend.base import Base
from bemani.backend.core import CoreHandler, CardManagerHandler, PASELIHandler

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, Optional, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, Optional, Tuple
from bemani.backend.ess import EventLogHandler
from bemani.backend.sdvx.base import SoundVoltexBase

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, List, Optional
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional
from bemani.backend.ess import EventLogHandler
from bemani.backend.sdvx.base import SoundVoltexBase

View File

@ -3885,7 +3885,7 @@ class SoundVoltexGravityWarsSeason2(
game.add_child(highscores)
for musicid in records:
for chart in records[musicid]:
(globaluserid, globalscore) = records[musicid][chart]["global"]
globaluserid, globalscore = records[musicid][chart]["global"]
global_profile = users[globaluserid]
if clears[musicid][chart]["total"] > 0:
@ -3903,7 +3903,7 @@ class SoundVoltexGravityWarsSeason2(
info.add_child(Node.s32("cr", int(clear_rate * 10000)))
if "area" in records[musicid][chart]:
(localuserid, localscore) = records[musicid][chart]["area"]
localuserid, localscore = records[musicid][chart]["area"]
local_profile = users[localuserid]
info.add_child(Node.string("l_sq", ID.format_extid(local_profile.extid)))
info.add_child(Node.string("l_nm", local_profile.get_str("name")))

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, List, Optional, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Tuple
from bemani.backend.ess import EventLogHandler
from bemani.backend.sdvx.base import SoundVoltexBase
@ -3479,7 +3478,7 @@ class SoundVoltexHeavenlyHaven(
game.add_child(highscores)
for musicid in records:
for chart in records[musicid]:
(globaluserid, globalscore) = records[musicid][chart]["global"]
globaluserid, globalscore = records[musicid][chart]["global"]
global_profile = users[globaluserid]
if clears[musicid][chart]["total"] > 0:
@ -3498,7 +3497,7 @@ class SoundVoltexHeavenlyHaven(
info.add_child(Node.s32("avg_sc", clears[musicid][chart]["average"]))
if "area" in records[musicid][chart]:
(localuserid, localscore) = records[musicid][chart]["area"]
localuserid, localscore = records[musicid][chart]["area"]
local_profile = users[localuserid]
info.add_child(Node.string("l_sq", ID.format_extid(local_profile.extid)))
info.add_child(Node.string("l_nm", local_profile.get_str("name")))

View File

@ -1,6 +1,5 @@
# vim: set fileencoding=utf-8
from typing import Any, Dict, List, Optional
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional
from bemani.backend.ess import EventLogHandler
from bemani.backend.sdvx.base import SoundVoltexBase

View File

@ -1,7 +1,6 @@
from bemani.client.base import BaseClient
from bemani.client.protocol import ClientProtocol
__all__ = [
"BaseClient",
"ClientProtocol",

View File

@ -1,6 +1,5 @@
import time
from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from typing import Optional, Dict, Final, List, Tuple, Any
from bemani.client.common import random_hex_string
from bemani.client.protocol import ClientProtocol

View File

@ -1,6 +1,5 @@
from bemani.client.bishi.bishi import TheStarBishiBashiClient
__all__ = [
"TheStarBishiBashiClient",
]

View File

@ -1,6 +1,5 @@
from bemani.client.danevo.danevo import DanceEvolutionClient
__all__ = [
"DanceEvolutionClient",
]

View File

@ -4,7 +4,6 @@ from bemani.client.ddr.ddr2013 import DDR2013Client
from bemani.client.ddr.ddr2014 import DDR2014Client
from bemani.client.ddr.ddrace import DDRAceClient
__all__ = [
"DDRX2Client",
"DDRX3Client",

View File

@ -5,7 +5,6 @@ from bemani.client.jubeat.qubell import JubeatQubellClient
from bemani.client.jubeat.clan import JubeatClanClient
from bemani.client.jubeat.festo import JubeatFestoClient
__all__ = [
"JubeatSaucerClient",
"JubeatSaucerFulfillClient",

View File

@ -1,6 +1,5 @@
from bemani.client.mga.mga import MetalGearArcadeClient
__all__ = [
"MetalGearArcadeClient",
]

View File

@ -1,7 +1,6 @@
from bemani.client.museca.museca1 import Museca1Client
from bemani.client.museca.museca1plus import Museca1PlusClient
__all__ = [
"Museca1Client",
"Museca1PlusClient",

View File

@ -8,7 +8,6 @@ from bemani.client.popn.peace import PopnMusicPeaceClient
from bemani.client.popn.kaimei import PopnMusicKaimeiClient
from bemani.client.popn.unilab import PopnMusicUnilabClient
__all__ = [
"PopnMusicTuneStreetClient",
"PopnMusicFantasiaClient",

View File

@ -5,7 +5,6 @@ from bemani.client.reflec.groovin import ReflecBeatGroovinUpper
from bemani.client.reflec.volzza import ReflecBeatVolzza
from bemani.client.reflec.volzza2 import ReflecBeatVolzza2
__all__ = [
"ReflecBeat",
"ReflecBeatLimelight",

View File

@ -4,7 +4,6 @@ from bemani.client.sdvx.gravitywars_s1 import SoundVoltexGravityWarsS1Client
from bemani.client.sdvx.gravitywars_s2 import SoundVoltexGravityWarsS2Client
from bemani.client.sdvx.heavenlyhaven import SoundVoltexHeavenlyHavenClient
__all__ = [
"SoundVoltexBoothClient",
"SoundVoltexInfiniteInfectionClient",

View File

@ -17,7 +17,6 @@ from bemani.common.parallel import Parallel
from bemani.common.pe import PEFile, InvalidOffsetException
from bemani.common.cache import cache
__all__ = [
"Model",
"ValidatedDict",

View File

@ -1,7 +1,6 @@
from flask import Flask
from flask_caching import Cache
# This somewhat breaks convention of trying to keep flask stuff in only the application
# routing layer, but flask-caching itself is a useful wrapper that supports a ton of
# backends like in-memory, filesystem, redis, memcached, etc. So, we centralize the

View File

@ -1,5 +1,4 @@
from typing import Dict, List
from typing_extensions import Final
from typing import Dict, Final, List
from Crypto.Cipher import DES3

View File

@ -1,6 +1,5 @@
from enum import Enum
from typing import Dict
from typing_extensions import Final
from typing import Dict, Final
class GameConstants(Enum):

View File

@ -2,8 +2,7 @@ import calendar
import datetime
from dateutil import tz
from typing import List, Optional
from typing_extensions import Final
from typing import Final, List, Optional
class Time:

View File

@ -20,7 +20,6 @@ from bemani.data.types import (
from bemani.data.remoteuser import RemoteUser
from bemani.data.triggers import Triggers
__all__ = [
"Config",
"Data",

View File

@ -1,7 +1,6 @@
import json
import requests
from typing import Tuple, Dict, List, Any, Optional
from typing_extensions import Final
from typing import Tuple, Dict, Final, List, Any, Optional
from bemani.common import (
APIConstants,

View File

@ -1,7 +1,6 @@
import json
import random
from typing import Dict, Any, Optional
from typing_extensions import Final
from typing import Final, Dict, Any, Optional
from bemani.common import Time
from bemani.data.config import Config

View File

@ -1,8 +1,7 @@
from sqlalchemy import Table, Column, UniqueConstraint
from sqlalchemy.types import String, Integer, JSON
from sqlalchemy.dialects.mysql import BIGINT as BigInteger
from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from typing import Optional, Dict, Final, List, Tuple, Any
from bemani.common import GameConstants, ValidatedDict
from bemani.data.mysql.base import BaseData, metadata

View File

@ -3,8 +3,7 @@ from sqlalchemy import Table, Column, UniqueConstraint
from sqlalchemy.types import String, Integer, JSON
from sqlalchemy.dialects.mysql import BIGINT as BigInteger
from sqlalchemy.exc import IntegrityError
from typing import Optional, Dict, List, Tuple, Any
from typing_extensions import Final
from typing import Final, Optional, Dict, List, Tuple, Any
from passlib.hash import pbkdf2_sha512 # type: ignore
from bemani.common import ValidatedDict, Profile, GameConstants, Time

View File

@ -5,7 +5,6 @@ from bemani.format.tdxt import TDXT
from bemani.format.iidxchart import IIDXChart
from bemani.format.iidxmusicdb import IIDXMusicDB, IIDXSong
__all__ = [
"IFS",
"ARC",

View File

@ -32,7 +32,6 @@ from .types import (
)
from .decompile import ByteCode, ByteCodeDecompiler
__all__ = [
"Shape",
"DrawParams",

View File

@ -407,7 +407,7 @@ class TXP2File(TrackedCoverage, VerboseOutput):
while i < 8 and len(decomp) < decomp_len:
if (control & 0x01) != 0:
if comp_i >= comp_len:
return decomp
return bytes(decomp)
decomp.append(comp[comp_i])
window[window_i] = comp[comp_i]
@ -432,7 +432,7 @@ class TXP2File(TrackedCoverage, VerboseOutput):
slide_len -= 1
control >>= 1
i += 1
return decomp
return bytes(decomp)
def __parse(self, verbose: bool) -> None:
# First, check the signature

View File

@ -4023,10 +4023,6 @@ class ByteCodeDecompiler(VerboseOutput):
if new_batch[i] is not cur_statement:
raise Exception("Logic error!")
if not isinstance(cur_statement, IfStatement):
# This isn't even an if statement. We should never hit
# this but the type checker wants to be happy.
return statement
if has_break(cur_statement.true_statements) or has_break(cur_statement.false_statements):
# This code already uses a 'break' statement. If we stuck it
# in a switch, it would change the sematics of this statement

View File

@ -1,8 +1,7 @@
import os
import struct
import sys
from typing import Any, Dict, List, Optional, Tuple
from typing_extensions import Final
from typing import Any, Dict, Final, List, Optional, Tuple
from .decompile import ByteCode
from .types import (

View File

@ -89,7 +89,6 @@ from .statement import (
)
from .aa import AAMode
__all__ = [
"Matrix",
"Color",

View File

@ -1,4 +1,4 @@
from typing_extensions import Final
from typing import Final
class AAMode:

View File

@ -1,6 +1,5 @@
import os
from typing import TYPE_CHECKING, Any, Dict, List, Set, Optional
from typing_extensions import Final
from typing import TYPE_CHECKING, Any, Dict, Final, List, Set, Optional
from .expression import Register

View File

@ -1,6 +1,5 @@
import os
from typing import TYPE_CHECKING, Any, Dict, List, Tuple, Optional, Union
from typing_extensions import Final
from typing import TYPE_CHECKING, Any, Dict, Final, List, Tuple, Optional, Union
if TYPE_CHECKING:
# Circular import otherwise

View File

@ -1,6 +1,5 @@
import os
from typing import Any, List, Optional, Sequence, Union
from typing_extensions import Final
from typing import Any, Final, List, Optional, Sequence, Union
from .expression import (
Expression,

View File

@ -23,12 +23,12 @@ class ARC:
raise Exception("Unknown file format!")
# Grab header offsets
(_, numfiles, _) = struct.unpack("<III", data[4:16])
_, numfiles, _ = struct.unpack("<III", data[4:16])
for fno in range(numfiles):
start = 16 + (16 * fno)
end = start + 16
(nameoffset, fileoffset, uncompressedsize, compressedsize) = struct.unpack("<IIII", data[start:end])
nameoffset, fileoffset, uncompressedsize, compressedsize = struct.unpack("<IIII", data[start:end])
name = ""
while data[nameoffset] != 0:
@ -42,7 +42,7 @@ class ARC:
return [f for f in self.__files]
def read_file(self, filename: str) -> bytes:
(fileoffset, uncompressedsize, compressedsize) = self.__files[filename]
fileoffset, uncompressedsize, compressedsize = self.__files[filename]
if compressedsize == uncompressedsize:
# Just stored

View File

@ -133,7 +133,7 @@ class IFS:
otherdata: Dict[str, IFS] = {}
for fn in files:
(start, size, pack_time, external_file) = files[fn]
start, size, pack_time, external_file = files[fn]
if external_file is not None:
if external_file not in otherdata:
if self.__loader is None:

View File

@ -1,6 +1,5 @@
import struct
from typing import List, Optional, Tuple
from typing_extensions import Final
from typing import Final, List, Optional, Tuple
class IIDXChart:

View File

@ -15,7 +15,7 @@ class TwoDX:
def __parse_file(self, data: bytes) -> None:
# Parse file header
(name, headerSize, numfiles) = struct.unpack("<16sII", data[0:24])
name, headerSize, numfiles = struct.unpack("<16sII", data[0:24])
self.__name = name.split(b"\x00")[0].decode("ascii")
if headerSize != (72 + (4 * numfiles)):

View File

@ -1,6 +1,5 @@
from bemani.frontend.app import app, config, loginrequired, loginprohibited
__all__ = [
"app",
"config",

Some files were not shown because too many files have changed in this diff Show More