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.
Change-Id: Id0efae913c202a30476d73a3821711c5250fcfee
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
HTTPS_PROXY.
Closes-Bug: #1351136
Change-Id: I6a65afb0f99b351dc2183294d9127cbbebc35856
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
Change-Id: Id0d394f12618bc5ec7860a57043641efcdc6715f
There is no need to interact with github. The full project list can
be retreived from a single query to gerrit to get the full project
list.
Change-Id: I49a7c3a7ff7d070b8a166c11e66475870cdcd6ca
Link to gravatar image is generated completely on client-side and no
longer included into user or record objects.
Added libs:
* JS MD5 (BSD license)
* JS jQuery.gravatar (WTFPL license), changed
Removed libs:
* Flask.Gravatar
Closes bug 1320242
Change-Id: Iee08dc845c162a3ccb97d176997df31a6e7b3c63
This makes code more readable, and can check whether specific library
in the requirement files easily. We also enforce the check in pep8.
Change-Id: I98be4ab6c46301fabe8badc00dd3a60333473414
Closes-Bug: #1285478
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
Change-Id: I9503d46f009a388aafc27d5ed31e1e8cab40ea2c
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.
Change-Id: Ia6d74919458e6a8ebd22254e368aba357dd8a842
* Move to the latest pbr, remove d2to1
* Move to the latest hacking, remove flake and pep8
Closes bug 1212325
Change-Id: I4384a0470a5ab2297d62d249d08bd78d515c25c2
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
Change-Id: I3a6add2a78e2f493c721840a8c8b9041d8e49654
* 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.
Change-Id: I7cc9bc758c1f0d522af403a2b41c8298d80d843c
* 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
Change-Id: I80b70de372752cd3d1790da1904c0d423d61e81a
* 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
Scripts cleanup
Moved from pylibmc to python-memcached
Library pylibmc depends on libmemcached and doesn't work on CentOS (version conflict bw lib requirement and memcached).
Change-Id: I0cc61c6d344ba24442ec954635010b518c0efa95