BaseProduct

The BaseProduct ABC also has a lot of near boilerplate property code, though only three of its properties fall into implementation patterns that've been established so far:

  • name is a standard required text line property.
  • summary is a standard required text line property.
  • description is an optional string value.
  • dimensions is a standard optional text line property.
  • shipping_weight is a required number value, which may only be used for determining shipping costs, but could also appear in product displays in the web store.
  • metadata is a dictionary of metadata keys (strings) and values (strings also, probably). This is a new data structure, so we'll examine it in detail shortly.
  • available is a required Boolean value that allows the ...

Get Hands-On Software Engineering with Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.