Skip to content

Sphinx-Denise and Olga#16

Open
lioliadoc wants to merge 8 commits intoAda-C22:mainfrom
dpchengmath:main
Open

Sphinx-Denise and Olga#16
lioliadoc wants to merge 8 commits intoAda-C22:mainfrom
dpchengmath:main

Conversation

@lioliadoc
Copy link
Copy Markdown

No description provided.

Copy link
Copy Markdown

@yangashley yangashley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! The project is correctly organized and your model and routes look good. Let me know if you have questions about my comments.

self.id = id
self.name = name
self.description = description

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would you write the to_dict instance method so you can take an instance of Planet and turn it into a dictionary that will be returned as a response to a client's request?

Comment on lines +25 to +31
for planet in planets:
if planet.id == int(planet_id):
return {
"id": planet.id,
"name": planet.name,
"description": planet.description,
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After your model has been validated, we don't need to loop through all the planets again to see if the id matches. Have a look at the validate_planet function and see that you already check to see if the id matches on line 40-42.

Suggested change
for planet in planets:
if planet.id == int(planet_id):
return {
"id": planet.id,
"name": planet.name,
"description": planet.description,
}
return {
"id": planet.id,
"name": planet.name,
"description": planet.description,
}

Comment on lines +47 to +62
# @planets_bp.post("")
# def create_planet():
# request_body = request.get_json()
# title = request_body["title"]
# description = request_body["description"]

# new_book = Planet(title=title, description=description)
# db.session.add(new_planet)
# db.session.commit()

# response = {
# "id": new_planet.id,
# "title": new_planet.name,
# "description": new_planet.description,
# }
# return response, 201
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll have a look at how the model needs to be updated in order for the POST route to work!

Copy link
Copy Markdown

@yangashley yangashley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work on part 2 of solar-system!

Comment on lines +33 to +38
{
"id": planet.id,
"name": planet.name,
"description": planet.description,
"diameter": planet.diameter
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefer your Planet model has a to_dict method so that it can be called in your different routes instead repeating code. It would also help your routes be more concise.

Comment on lines +54 to +60
response = {

"id": new_planet.id,
"name": new_planet.name,
"description": new_planet.description,
"diameter": new_planet.diameter
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could call to_dict here too

Comment on lines +68 to +74
return {

"id": planet.id,
"name": planet.name,
"description": planet.description,
"diameter": planet.diameter
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could call to_dict on planet here instead so creating this literal dictionary isn't happening three different times in your route file.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this file just for practice? I'm not clear on what it's testing and it's not inside your test directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants