It is a little difficult to set up default_data.json for users, and
we already have the corresponding schema in the code. JSON-Schema
outputs useful error message when users misconfigures some items.
So this patch makes the schema validation enabled for default_data.
With requests library users can run stackalytics-processor from
environments located behind HTTP/HTTPS proxy. Proxy address is
configured by setting the environment variables HTTP_PROXY or
1. python-memcached is now Py3 compatible, the separate reqs file
is not needed
2. update tox.ini from latest cookiecutter
3. re-generated docs for cli
Link to gravatar image is generated completely on client-side and no
longer included into user or record objects.
* JS MD5 (BSD license)
* JS jQuery.gravatar (WTFPL license), changed
Closes bug 1320242
This makes code more readable, and can check whether specific library
in the requirement files easily. We also enforce the check in pep8.
Process official programs list and add module groups based on it.
Module groups are added for every program (like OpenStack Networking),
every type of project (like integrated) and all official projects.
* Added config parameter program-list-uri
* Removed manual group configurations in default_data that duplicate official list
* Fixed issue with spaces in module group name in UI
Fixed assertEquals calls that are marked as errors by new hacking tool.
Note that the sync process is semi-automated since the project depends on
non-standard libs missing in the global list.
Launchpad lib is used to find user by his email. The same can be done by
accessing LP API directly. This operation doesn't require login to LP and
works much faster.
Closes bug 1213071
* Project list is retrieved with help of PyGitHub
* Difference in default data is checked by hash
* Fixed issue with invalid utf8 chars in git parsing
Partially implements blueprint add-more-projects.
* Added review control system module that retrieves reviews from Gerrit
* Refactored runtime storage not to depend on storage contents
* Refactored commit processor and new review processor is added
* Review record processor spawns reviews and marks
* Memory storage is made able to store reviews along with commits
* Migrated to hacking-0.6
* Marks are processed in contribution details and shown on engineer details screen
Implements blueprint review-stats
* Data updater is implemented
* Completed implementation of commit processor
* Logging is added into commit processor and runtime storage
* Commit processor is fixed
* Domain-company map is inverted
* Extracted get update count into separate function
* Fixed regex that matches diff statistics (lines inserted, lines deleted and files changed)
* Implemented caching of unknown users
* Replaced dictionaries by sets for pids and branches
* Vcs is responsible for module and branches fields of commit record
* Added release tags support
* Implemented statistics by company
* Added config for releases
* Implemented front-end for companies details
* Implemented front-end for modules details
* Fixed metric switch
* Implemented timeline rendering
* Release selector is fixed
* Chdir is needed after cloning a new repo
* Company details screen is implemented
* Fixed invalid emails processing by Launchpad
* Fixed parsing of 0 files changed case
* Module details screen implemented
* Commit message is cleared and links are inserted
* Engineer details screen is implemented
* Fixed mapping from company to email for subdomains of 3rd level
* Fixed wrong user structure for users not found by LP
* Also coverage for commit processor
* Fixed company matching algorithm
* The company was not matched when user email had more domains than company's one
* Add option to enforce sync with default data
* Default data is added. Old confs removed
* Add *.local into gitignore
Moved from pylibmc to python-memcached
Library pylibmc depends on libmemcached and doesn't work on CentOS (version conflict bw lib requirement and memcached).