in python. Please include docstring, so I can understand each step to this program. Thanks. you will import the json module. Write a class named NeighborhoodPets that has methods for adding a pet, deleting a pet, searching for the owner of a pet, saving data to a JSON file, loading data from a JSON file, and getting a set of all pet species.  It will only be loading JSON files that it has previously created, so the internal organization of the data is up to you. The init method takes no parameters and initializes all the data members, which must all be private. The add_pet method takes as parameters the name of the pet, the species of the pet, and the name of the pet's owner.  If a pet has the same name as a pet that has already been added, then the function should raise a DuplicateNameError (you'll need to define this exception class). The delete_pet method takes as a parameter the name of the pet and deletes that pet. The get_owner method takes as a parameter the name of the pet and returns the name of its owner. The save_as_json method takes as a parameter the name of the file and saves it in JSON format with that name.  You can assume the extension (if any) will be part of the provided name. You can organize your JSON file however you want. The read_json method takes as a parameter the name of the file to read and loads that file.  This will replace all of the pets currently in memory. The get_all_species method takes no parameters and returns a Python set of the species of all pets. For example, your class could be used like this: np = NeighborhoodPets() try: np.add_pet("Fluffy", "gila monster", "Oksana") np.add_pet("Tiny", "stegasaurus", "Rachel") np.add_pet("Spot", "zebra", "Farrokh") except DuplicateNameError: print('You tried to enter a pet with the same name as another pet.') np.save_as_json("pets.json") np.delete_pet("Tiny") spot_owner = np.get_owner("Spot") np.read_json("other_pets.json") # where other_pets.json is a file it saved in some previous session species_set = np.get_all_species() If you implement a Pet class (which is a natural option, but not required), then when you save it, you'll need to translate the information into one of the built-in object types the json module recognizes, and translate it back the other way when you read it.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

in python. Please include docstring, so I can understand each step to this program. Thanks.

you will import the json module.

Write a class named NeighborhoodPets that has methods for adding a pet, deleting a pet, searching for the owner of a pet, saving data to a JSON file, loading data from a JSON file, and getting a set of all pet species.  It will only be loading JSON files that it has previously created, so the internal organization of the data is up to you.

  • The init method takes no parameters and initializes all the data members, which must all be private.
  • The add_pet method takes as parameters the name of the pet, the species of the pet, and the name of the pet's owner.  If a pet has the same name as a pet that has already been added, then the function should raise a DuplicateNameError (you'll need to define this exception class).
  • The delete_pet method takes as a parameter the name of the pet and deletes that pet.
  • The get_owner method takes as a parameter the name of the pet and returns the name of its owner.
  • The save_as_json method takes as a parameter the name of the file and saves it in JSON format with that name.  You can assume the extension (if any) will be part of the provided name. You can organize your JSON file however you want.
  • The read_json method takes as a parameter the name of the file to read and loads that file.  This will replace all of the pets currently in memory.
  • The get_all_species method takes no parameters and returns a Python set of the species of all pets.

For example, your class could be used like this:

np = NeighborhoodPets() try: np.add_pet("Fluffy", "gila monster", "Oksana") np.add_pet("Tiny", "stegasaurus", "Rachel") np.add_pet("Spot", "zebra", "Farrokh") except DuplicateNameError: print('You tried to enter a pet with the same name as another pet.') np.save_as_json("pets.json") np.delete_pet("Tiny") spot_owner = np.get_owner("Spot") np.read_json("other_pets.json") # where other_pets.json is a file it saved in some previous session species_set = np.get_all_species()

If you implement a Pet class (which is a natural option, but not required), then when you save it, you'll need to translate the information into one of the built-in object types the json module recognizes, and translate it back the other way when you read it.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

this code is missing the duplicate name error. How can this be added?

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Files and Directory
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education