Example #1
0
 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")
Example #2
0
 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")
Example #3
0
 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")