About the project importer
by Asheesh •
November 16th, 2009
When you ask OpenHatch to search for a username or email address, we perform a few queries in parallel:
- We see if the value you entered is a username on launchpad.net. If so, we look at the information on your Launchpad.net user page and scrape the “Most Active In” column (in accordance with the Launchpad Terms of Service — thanks Canonical!).
- We see if the value you entered is a valid username on Ohloh.net. If so, we use the Ohloh API to discover what projects you have contributed to. (Thanks to Ohloh for offering an API!)
- We search Ohloh’s index of repositories and see if the value was the contributor_name of any ContributorFact in their index. (Thanks again to Ohloh’s API!)
- We look for a Github.com account whose username is one of the values you entered. If we find an account there, we import all the repositories you’ve started or forked. (Thanks to python-github2 and the Github API.) We’re working on getting your contributions from other people’s repositories. If you want OpenHatch to know how many months you’ve contributed for, import it into Ohloh so they can analyze the code.
For now, we treat email addresses and usernames the same way. When you hit “Submit,” we run these queries in the background. We run a few queries (at this writing, eight) in parallel. The progress bar moves forward as each of your jobs completes. Note that your jobs could be competing with others’ for queue space. (We use the “celery” task queue.)
Some queries take up to two minutes to run. If things seem really slow, ping paulproteus on #openhatch on FreeNode.
We limit the number of simultaneous jobs to avoid putting too much load on these data providers.