from .models import Borrower from fintools.settings import get_logger logger = get_logger(name="__main__") DEFAULT_FILENAME = "./borrowers/candidates.json" class Main: @staticmethod def show(file: str = DEFAULT_FILENAME) -> str: logger.info("Calling the show method.") # TODO: read file and show content pass @staticmethod def insert(email: str, age: int, income: float, file: str = DEFAULT_FILENAME): borrower = Borrower(email=email, age=age, income=income) borrower.save(file=file) @staticmethod def update(email: str, age: int, income: float, file: str = DEFAULT_FILENAME): borrower = Borrower(email=email, age=age, income=income) borrower.update(file=file)
import fire from fintools.settings import get_logger from fintools.utils import timeit, method_caching from .utils import TriangleBuilder logger = get_logger(name=__name__) class Main: builder = TriangleBuilder() @method_caching def get_element(self, i: int, j: int): return 1 if (j == 0 or j >= i) else \ self.get_element(i=i-1, j=j-1) + self.get_element(i=i-1, j=j) def _default_implementation(self, level: int, index: int = 0): if index < level: row = [ str(self.get_element(i=index, j=j)) for j in range(index + 1) ] print(" ".join(row)) self._default_implementation(level=level, index=index + 1) def _oop_implementation(self, level: int, index: int = 0): if index < level: row = self.builder.get_row(index=index) print(" ".join(row)) self._oop_implementation(level=level, index=index + 1)