-
Notifications
You must be signed in to change notification settings - Fork 46
Implementation of advanced search #206
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
Conversation
…anced_search()` function
…g.advanced_search()` function
Nice job overall. 💪🏼 It would definitely be useful to have another pair of eyes here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR. I have marked some additional oddities which probably should be resolved before merging.
Weirdly, CI fails here, but it runs on my fork: |
I am not completely sure about the CI failures as well, but I do not really feel like this should be merged until we are able to resolve this. Maybe rebasing the code on the latest master change something here? |
I believe it's fine now :) |
Thanks, looks good for me. Re-requesting review from @tomasbedrich before merging. |
This PR implements a new way of searching for caches using the search API, which allows using filters and much more (with the
Geocaching.advanced_search()
method).This search method is also faster because it loads less data (the data is in JSON form). Data parsing is then easier and clearer.
Now we have a main search function —
Geocaching.advanced_search()
.Both
Geocaching.search()
andGeocaching.search_rect()
internally useGeocaching.advanced_search()
, which reduces repeating code, since the implementation would be almost the same.I've also updated the docstrings for those functions and added some tests.
Related PR:
(Although, that PR uses a different approach by parsing HTML...)
Related issues:
Remote end closed connection without response
when usingGeocaching.search()
#182