Moved table size to table class. Edited table constructor.

This commit is contained in:
alwayscompiling
2022-08-04 10:33:34 -04:00
parent f67eb75c7b
commit d4db9b51f0
4 changed files with 37 additions and 40 deletions
+33 -9
View File
@@ -8,18 +8,18 @@ from data.category import Category # pylint: disable=import-error
class Table:
"""Stores a table's information a list of categories."""
def __init__(self, name: str, message_id: int, category_map: dict) -> None:
def __init__(self, name: str) -> None:
"""
Default constructor for Table class.
Creates object and fills out class variables with defaults.
Args:
name (str): Table's name
message_id (int): message id of message table is displayed on in discord
category_map (dict): map of Categories
"""
self._name: str = name
self._message_id: int = message_id
self._categories_map: dict = category_map
self._message_id: int = 0
self._categories_map: dict = {}
self._size = 3
def __str__(self) -> str:
"""
@@ -42,13 +42,16 @@ class Table:
Returns:
Table: Populated Table object
"""
message_id = data["message_id"]
category_map = {}
table = cls(table_name)
table.message_id = data["message_id"]
table.size = data["table_size"]
for cat_name, cat in data["categories"].items():
category = Category.from_dict(cat_name, cat)
category_map[cat_name] = category
table.add_category(category)
return cls(table_name, message_id, category_map)
return table
@property
def categories(self) -> "list[Category]":
@@ -90,6 +93,26 @@ class Table:
"""
return self._name
@property
def size(self) -> int:
"""
Getter for size of table.
Returns:
int: Size of table
"""
return self._size
@size.setter
def size(self, size: int) -> None:
"""
Setter for size of table.
Args:
size (int): New size of table
"""
self._size = size
def add_category(self, category: Category) -> None:
"""
Adds a Category to categories map. Shouldn't exist already.
@@ -124,6 +147,7 @@ class Table:
"""
data = {}
data["message_id"] = self.message_id
data["table_size"] = self.size
data["categories"] = {}
for category in self.categories:
data["categories"][category.name] = category.to_dict()