Veneer Project - and self.owner.location is throwing an error

I know this is a walkthrough project but I did it without seeing and am getting errors. After seeing the walkthrough also I cannot figure out what has gone wrong. Can someone help me out?

class Art:
  def __init__(self, artist, title, year,medium, owner):
    self.artist = artist
    self.title = title
    self.medium = medium
    self.year = year
    self.owner = owner

  def __repr__(self):
    return "{}. \"{}\". {}, {}. {}, {}".format(self.artist, self.title, self.year, self.medium,, self.owner.location)

class Marketplace:
  def __init__(self):
    self.listings = []

  def add_listing(self, new_listing):

  def remove_listing(self, listing):

  def show_listings(self):
    for i in self.listings:

class Client:
  def __init__(self, name, location, is_museum): = name
    self.is_museum = is_museum
    if is_museum:
      self.location = location
      self.location = "Private Collection"

  def sell_artwork(self, artwork, price):
    if artwork.owner == self:
      new_listing = Listing(artwork, price, self)

  def buy_artwork(self, artwork):
    if artwork.owner != self:
      art_listing = None
      for listing in veneer.listings:
        if == artwork:
          art_listing = listing
      if art_listing != None: =

class Listing:
  def __init__(self, art, price, seller): = art
    self.price = price
    self.seller = seller

  def __repr__(self):
    return "{}, {}.".format(, self.price)

veneer = Marketplace()

edytta = Client("Edytta Halpirt", None, False)

moma = Client("The MOMA", "New York", True)

girl_with_mandolin = Art("Picasso, Pablo", "Girl with a Mandolin(Fanny Tellier", 1910, "oil on canvas", edytta)

edytta.sell_artwork(girl_with_mandolin, "6M(USD")



2 posts were merged into an existing topic: Question in the “Veneer” Project in Python