This PR is a bit big :') but many of the changes are related
Modified Forecast and GitHub requests to run asynchronously
Reworked GitHub requests to use many small calls to the REST API instead of one large call to the GraphQL API. This, plus the concurrency, leads to quite a substantial speedup in fetching all requisite data (ca 6 s vs 50 s).
A nice side-effect of this is that data can now be fetched in a more granular manner. For example, when querying a particular issue, the GithubRaw.get_issue function suffices; there's no longer a need to fetch data about all other issues in the project tracker.
I can't prove that the output will always be the same, but I did diff the output from the dev branch and this PR to make sure that it was the same for the project tracker.
Oddly enough, the GraphQL query for all users (see GithubRaw.all_users) is a bit faster than the corresponding REST version, so I retained that.
This PR will likely break if you try to run it immediately, because the config file needs to be updated (at a minimum, githubUrl now needs to be https://api.github.com). So I figured I may as well break many things at once:
The location for the config files is now ~/.config/whatwhat instead of ~/.config/nowwhat.
(This would incidentally also fix #48, as this PR removes all instances of nowwhat from the source code)
githubUrl needs to be https://api.github.com.
forecastUrl needs to be https://api.forecastapp.com without a forward slash at the end (for consistency with the above).
The README has been updated accordingly (technically speaking, I only cut stuff from the README, as the info is now in the wiki instead).
This PR is a bit big :') but many of the changes are related
GithubRaw.get_issue
function suffices; there's no longer a need to fetch data about all other issues in the project tracker.GithubRaw.all_users
) is a bit faster than the corresponding REST version, so I retained that.githubUrl
now needs to behttps://api.github.com
). So I figured I may as well break many things at once:~/.config/whatwhat
instead of~/.config/nowwhat
. (This would incidentally also fix #48, as this PR removes all instances ofnowwhat
from the source code)githubUrl
needs to behttps://api.github.com
.forecastUrl
needs to behttps://api.forecastapp.com
without a forward slash at the end (for consistency with the above).The README has been updated accordingly (technically speaking, I only cut stuff from the README, as the info is now in the wiki instead).