Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Commit

Permalink
Type hint challenge_validator.py
Browse files Browse the repository at this point in the history
  • Loading branch information
M-DinhHoangViet committed Mar 4, 2024
1 parent 77a3673 commit 92ae189
Showing 1 changed file with 17 additions and 18 deletions.
35 changes: 17 additions & 18 deletions challenge_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,26 @@

class Challenge_Validator:
def __init__(self, config: dict) -> None:
self.variants = config['challenge']['variants']
self.speeds = config['challenge']['time_controls']
self.variants: list[str] = config['challenge']['variants']
self.speeds: list[str] = config['challenge']['time_controls']
self.time_controls = self._get_time_controls(self.speeds)
self.time_controls = config['challenge']['time_controls']
self.bullet_with_increment_only = config['challenge'].get('bullet_with_increment_only', False)
self.min_increment = config['challenge'].get('min_increment', 0)
self.max_increment = config['challenge'].get('max_increment', 180)
self.min_initial = config['challenge'].get('min_initial', 0)
self.max_initial = config['challenge'].get('max_initial', 315360000)
self.bot_modes = config['challenge']['bot_modes']
self.human_modes = config['challenge']['human_modes']
self.whitelist = config.get('whitelist', [])
self.blacklist = config.get('blacklist', [])
self.bullet_with_increment_only: bool = config['challenge'].get('bullet_with_increment_only', False)
self.min_increment: int = config['challenge'].get('min_increment', 0)
self.max_increment: int = config['challenge'].get('max_increment', 180)
self.min_initial: int = config['challenge'].get('min_initial', 0)
self.max_initial: int = config['challenge'].get('max_initial', 315360000)
self.bot_modes: list[str] = config['challenge']['bot_modes']
self.human_modes: list[str] = config['challenge']['human_modes']
self.whitelist: list[str] = config.get('whitelist', [])
self.blacklist: list[str] = config.get('blacklist', [])

def get_decline_reason(self, challenge_event: dict) -> Decline_Reason | None:
speed = challenge_event['challenge']['speed']
if speed == 'correspondence':
if speed: str == 'correspondence':
print('Time control "Correspondence" is not supported by Lichess-Bot.')
return Decline_Reason.TIME_CONTROL

variant = challenge_event['challenge']['variant']['key']
variant: str = challenge_event['challenge']['variant']['key']
if variant not in self.variants:
print(f'Variant "{variant}" is not allowed according to config.')
return Decline_Reason.VARIANT
Expand All @@ -39,7 +38,7 @@ def get_decline_reason(self, challenge_event: dict) -> Decline_Reason | None:
print('Neither bots nor humans are allowed according to config.')
return Decline_Reason.GENERIC

is_bot = challenge_event['challenge']['challenger']['title'] == 'BOT'
is_bot: bool = challenge_event['challenge']['challenger']['title'] == 'BOT'
modes = self.bot_modes if is_bot else self.human_modes
if modes is None:
if is_bot:
Expand All @@ -49,8 +48,8 @@ def get_decline_reason(self, challenge_event: dict) -> Decline_Reason | None:
print('Only bots are allowed according to config.')
return Decline_Reason.ONLY_BOT

increment = challenge_event['challenge']['timeControl']['increment']
initial = challenge_event['challenge']['timeControl']['limit']
increment: int = challenge_event['challenge']['timeControl']['increment']
initial: int = challenge_event['challenge']['timeControl']['limit']
if not self.speeds:
print('No time control is allowed according to config.')
return Decline_Reason.GENERIC
Expand Down Expand Up @@ -79,7 +78,7 @@ def get_decline_reason(self, challenge_event: dict) -> Decline_Reason | None:
print('Bullet against bots is only allowed with increment according to config.')
return Decline_Reason.TOO_FAST

is_rated = challenge_event['challenge']['rated']
is_rated: bool = challenge_event['challenge']['rated']
is_casual = not is_rated
if is_rated and 'rated' not in modes:
print('Rated is not allowed according to config.')
Expand Down

0 comments on commit 92ae189

Please sign in to comment.