Closed aaronsteers closed 3 years ago
@jtimeus-slalom - Let me know if you see other opportunities to improve, but overall I'm very happy with these numbers! All up, we are just around 300 lines of code including the stream field definitions, or less than 175 lines of code if we exclude those JSON schema declarations for column types.
No action here so I'll close this item to reduce clutter in the issues list. :)
As discussed, after we got everything working, I wanted to perform this quick analysis of
streams.py
andtap.py
for any "extra" or unhelpful code snippets which could possibly be moved into the SDK itself. Excepting the final change proposed here in #12, I didn't see anything at all, really, which I would remove.Here's a quick overview of line counts:
tap.py
(total47 lines
including whitespace):21 lines
3 lines
(including code comment)15 lines
5 lines
streams.py
(total254 lines
including whitespace):25 lines
20 lines
(1Authenticator
class definition and 1authenticator
Stream class property)53 lines
total over 3 areas:get_next_page_token()
for looping and pagination logic:29 lines
get_url_params()
for defining the interface with the REST API:19 lines
parse_response()
to translate the REST response into 'records':5 lines
139 lines
for approximately 81 fields (including some commented-out WIP)