27 lines
724 B
Python
27 lines
724 B
Python
import random
|
|
|
|
from model.db_service import DbService
|
|
from util import common
|
|
|
|
|
|
class TextDb(DbService):
|
|
|
|
def __init__(self) -> None:
|
|
super().__init__()
|
|
self.FACTS_LIST = None
|
|
|
|
def load_facts_from_file(self):
|
|
facts_file = open(f"{common.get_project_root()}/resources/facts.txt", mode="r+")
|
|
self.FACTS_LIST = facts_file.readlines()
|
|
assert self.FACTS_LIST
|
|
|
|
def get_fact(self):
|
|
if self.FACTS_LIST is None:
|
|
self.load_facts_from_file()
|
|
return random.choice(self.FACTS_LIST)
|
|
|
|
def get_multiple_facts(self, count=5):
|
|
if self.FACTS_LIST is None:
|
|
self.load_facts_from_file()
|
|
return random.sample(self.FACTS_LIST, k=count)
|