46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
"""
|
|
Project: Magic Tracker
|
|
Author: Edward Middleton-Smith
|
|
Shuffle & Skirmish
|
|
|
|
Technology: View Models
|
|
Feature: MTG Games View Model
|
|
|
|
Description:
|
|
Data model for MTG games view
|
|
"""
|
|
|
|
# internal
|
|
from business_objects.tcg.mtg_game import MTG_Game, Parameters_MTG_Game
|
|
from datastores.datastore_mtg import DataStore_MTG
|
|
from models.model_view_mtg_base import Model_View_MTG_Base
|
|
from helpers.helper_app import Helper_App
|
|
import lib.argument_validation as av
|
|
|
|
# external
|
|
from pydantic import BaseModel
|
|
from typing import ClassVar
|
|
|
|
|
|
class Model_View_MTG_Games(Model_View_MTG_Base):
|
|
form_filters: object = None
|
|
games: list = None
|
|
parameters_game: Parameters_MTG_Game = None
|
|
|
|
def __init__(self, parameters_game=None, hash_page_current=Model_View_MTG_Base.HASH_PAGE_MTG_GAMES):
|
|
_m = 'Model_View_MTG_Games.__init__'
|
|
# Helper_App.console_log(f'{_m}\nstarting...')
|
|
super().__init__(hash_page_current=hash_page_current)
|
|
self._title = 'MTG Games'
|
|
datastore = DataStore_MTG()
|
|
|
|
# Initialize parameters with defaults if not provided
|
|
if parameters_game is None:
|
|
user_session = datastore.get_user_session()
|
|
self.parameters_game = Parameters_MTG_Game.get_default(user_session.user_id)
|
|
else:
|
|
self.parameters_game = parameters_game
|
|
|
|
# Helper_App.console_log(f'Query args: {self.parameters_game}')
|
|
self.games, errors = datastore.get_many_mtg_game(self.parameters_game)
|