mirror of
https://github.com/rangermix/TwitchDropsMiner.git
synced 2026-06-08 21:34:35 +00:00
unify game selection and expectation logic (#32)
- unify game selection and expectation logic - refactore settings and settings manager - formatting and coverage and precommit hook
This commit is contained in:
@@ -8,9 +8,9 @@ from typing import TYPE_CHECKING
|
||||
|
||||
from dateutil.parser import isoparse
|
||||
|
||||
from src.config.constants import State, URLType
|
||||
from src.config.constants import State
|
||||
from src.models.channel import Channel
|
||||
from src.models.drop import TimedDrop, remove_dimensions
|
||||
from src.models.drop import TimedDrop
|
||||
from src.models.game import Game
|
||||
|
||||
|
||||
@@ -201,6 +201,4 @@ class DropsCampaign:
|
||||
first_drop.display()
|
||||
|
||||
def has_wanted_unclaimed_benefits(self, allowed_benefits: dict[str, bool]) -> bool:
|
||||
return any(
|
||||
drop.has_wanted_unclaimed_benefits(allowed_benefits) for drop in self.drops
|
||||
)
|
||||
return any(drop.has_wanted_unclaimed_benefits(allowed_benefits) for drop in self.drops)
|
||||
|
||||
@@ -139,9 +139,12 @@ class BaseDrop:
|
||||
return delim.join(benefit.name for benefit in self.benefits)
|
||||
|
||||
def has_wanted_unclaimed_benefits(self, allowed_benefits: dict[str, bool]) -> bool:
|
||||
return len(self.get_wanted_unclaimed_benefits(allowed_benefits)) > 0
|
||||
|
||||
def get_wanted_unclaimed_benefits(self, allowed_benefits: dict[str, bool]) -> list[str]:
|
||||
if self.is_claimed:
|
||||
return False
|
||||
return any(benefit.is_wanted(allowed_benefits) for benefit in self.benefits)
|
||||
return []
|
||||
return [benefit.name for benefit in self.benefits if benefit.is_wanted(allowed_benefits)]
|
||||
|
||||
async def claim(self) -> bool:
|
||||
result = await self._claim()
|
||||
|
||||
Reference in New Issue
Block a user