def text(self, style: str="full", cart_qty: int=None): """Return the product details formatted with Telegram HTML. The image is omitted.""" if style == "short": return f"{cart_qty}x {utils.telegram_html_escape(self.name)} - {str(utils.Price(self.price) * cart_qty)}" elif style == "full": if cart_qty is not None: cart = strings.in_cart_format_string.format(quantity=cart_qty) else: cart = '' return strings.product_format_string.format(name=utils.telegram_html_escape(self.name), description=utils.telegram_html_escape(self.description), price=str(utils.Price(self.price)), cart=cart) else: raise ValueError("style is not an accepted value")
def text(self, w: "worker.Worker", *, style: str = "full", cart_qty: int = None, size_id: int = None, session=None): """Return the product details formatted with Telegram HTML. The image is omitted.""" if size_id is not None: size = session.query(Size).filter_by(id=size_id, deleted=False).one() size_name = " " + str(size.name) size_price = float(size.price) price = str(w.Price(size_price)) else: size_name = "" size_price = "" sizes = session.query(Size).filter_by(deleted=False, product_id=self.id).all() if len(sizes) != 0: price = "" else: price = str(w.Price(self.price)) # price = str(w.Price(self.price)) if style == "short": return f"{cart_qty}x {utils.telegram_html_escape(self.name + size_name)} - " \ f"{price * cart_qty}" elif style == "full": if cart_qty is not None: cart = w.loc.get("in_cart_format_string", quantity=cart_qty) else: cart = '' return w.loc.get( "product_format_string", name=str(utils.telegram_html_escape(self.name) + size_name), description=utils.telegram_html_escape(self.description), price=price, cart=cart) else: raise ValueError("style is not an accepted value")
def text(self, w: "worker.Worker", *, style: str = "full", cart_qty: int = None): """Return the product details formatted with Telegram HTML. The image is omitted.""" if style == "short": return f"{cart_qty}x {utils.telegram_html_escape(self.name)} - {str(w.Price(self.price) * cart_qty)}" elif style == "full": if cart_qty is not None: cart = w.loc.get("in_cart_format_string", quantity=cart_qty) else: cart = '' return w.loc.get( "product_format_string", name=utils.telegram_html_escape(self.name), description=utils.telegram_html_escape(self.description), categories=utils.telegram_html_escape(self.categories), price=str(w.Price(self.price)), cart=cart) else: raise ValueError("style is not an accepted value")