billdeitrick / pypco

A Python client for the Planning Center Online API.
MIT License
39 stars 13 forks source link

Added services endpoint. #2

Closed pastorhudson closed 6 years ago

pastorhudson commented 6 years ago

Added the services.py to endpoints and models. It worked in my very simple test code, but probably needs more testing.

codecov[bot] commented 6 years ago

Codecov Report

Merging #2 into master will increase coverage by 0.14%. The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
+ Coverage   98.33%   98.47%   +0.14%     
==========================================
  Files          15       17       +2     
  Lines        1140     1248     +108     
==========================================
+ Hits         1121     1229     +108     
  Misses         19       19
Impacted Files Coverage Δ
pypco/endpoints/__init__.py 100% <100%> (ø) :arrow_up:
pypco/models/services.py 100% <100%> (ø)
pypco/endpoints/services.py 100% <100%> (ø)
pypco/endpoints/base_endpoint.py 100% <100%> (ø) :arrow_up:
pypco/__init__.py 100% <100%> (ø) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update efffc86...05e0f6e. Read the comment docs.

billdeitrick commented 6 years ago

Thanks for submitting all of these! Sorry I haven't gotten back to you sooner...been a bit buried lately.

I'm going to go ahead and start rolling your PRs in. On the endpoint classes, particularly, you have a few classes you have that aren't needed. When an endpoint is only accessed as a relation from another endpoint there is no need to have a class for it in the corresponding endpoint class for the API endpoint. For example, in the People API, there is a "HouseholdMemberships" endpoint that is accessed from a Person object. This doesn't need to be included in the endpoint class because you would never make a call like pypco.people.household_memberships.get(123); you would always access a HouseholdMembership object after first getting a Person object from the API. Hope that makes sense...as you can see, I hadn't gotten around to documenting peculiarities like that yet. I'll remove these unneeded classes after rolling your PRs in.

Glad that you've been able to find the library useful...please continue sharing improvements as you make them!

pastorhudson commented 6 years ago

I had some typo's too that broke some things I think I fixed them in my fork. I'll try to send PR's for those. This is a fantastic tool! I should be able to modify some of my plugins as examples we could add.