Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle paginated API #5

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

kousu
Copy link

@kousu kousu commented Jun 2, 2018

Without this, a large DO account will randomly break get_record(),
because get_record() only looked at the first page, before, and
then it would just create a new record from scratch, potentially
leaving you with hundreds of duplicate A records in your account
(which just makes the account even larger!).

json_value had to go because its awk program was too simple to handle
the recursiveness of json; in particular, : is a delimiter in json,
but it's also a delimiter in URLs, so getting the next page's URL
would break. I replaced it, and awk, with a new dependency on
https://stedolan.github.io/jq/, which is unfortunate but necessary.
There's no way to correctly parse javascript in a bash one-liner.

itsupport added 2 commits June 1, 2018 20:46
Without this, a large DO account will randomly break get_record(),
because get_record() only looked at the first page, before, and
then it would just create a new record from scratch, potentially
leaving you with hundreds of duplicate A records in your account
(which just makes the account even larger!).

json_value had to go because its awk program was too simple to handle
the recursiveness of json; in particular, : is a delimiter in json,
but it's also a delimiter in URLs, so getting the next page's URL
would break. I replaced it, and awk, with a new dependency on
https://stedolan.github.io/jq/, which is unfortunate but necessary.
There's no way to correctly parse javascript in a bash one-liner.
I regularly observed DO's API giving me more than 50 results per page,
so instead of guessing at what the count should be if we don't receive it,
skip the entire page.
@kousu kousu mentioned this pull request Jun 2, 2018
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.

1 participant