Commit Graph

28 Commits (ef3e036cdff6029f0a2709d876ea1ee6c199642a)

Author SHA1 Message Date
zhouhenglc ebaac2f44a [CI]require Jinja2<3.1.0
JinJa2>=3.1.0 cannot import name 'Markup' from 'jinja2' [1]


Change-Id: I5189cb57a4c0c2c736a1fde65c5d092b99528a71
1 year ago
zhouhenglc 4593856bab [ci]require itsdangerous<2.1
itsdangerous>=2.1.0 cannot import name 'json' from 'itsdangerous' [1]


Change-Id: Ic9c42dcc2ed8aa12eb42efa22646750c69f9b0a3
1 year ago
Sergey Nikitin ffb80d98c8 Fix py35
Change-Id: I5cdbb397dfa249faf67557f686934a995eb3e6fd
3 years ago
Ken'ichi Ohmichi cad73b5646 Add config validation for default_data
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
6 years ago
Ilya Shakhat 33d8ec8e4f Sync requirements with OpenStack global requirements
Change-Id: Ic9046ea38059b6aa55bb683b07b28e3ff25dae6d
6 years ago
Ilya Shakhat 5a8bc5649e Use requests lib instead of low-level urllib calls
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

Closes-Bug: #1351136

Change-Id: I6a65afb0f99b351dc2183294d9127cbbebc35856
8 years ago
Ilya Shakhat 11db9c1de6 Update from global-requirements
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
8 years ago
Ilya Shakhat 72dcfee0c9 Use oslo.log instead of incubated code
Also use namespaceless oslo.config

Change-Id: I9bb01bd1e6154b8bc2aa82848b45fdd411c24fb7
8 years ago
Ilya Shakhat 0d9f72e52f Update from global requirements
Fix lots of pep8 issues caused by new version of hacking.

Change-Id: I70c1bef9e826a7c74ef87c052fc248e858ea0c73
9 years ago
Ilya Shakhat 7323b684b2 Make project list retrieval configurable
Now list of projects can be retrieved from both gerrit and github.

Change-Id: I4743dc618eff3a69e5d9291cb5c4b680c89dd3cf
9 years ago
Ilya Shakhat 2d6f712ca6 Sync Oslo and migrate from sources to oslo libs instead
Use oslo.utils, oslo.serialization and oslo.i18n instead of sources
in openstack/common

Change-Id: I82b0563efefdc1e897b5c2c19cce80632c3d550e
9 years ago
Andreas Jaeger 7155d072b0 warn against sorting requirements
And do not check for sorted requirements.

Change-Id: I64ae9191863564e278a35d42ec9cd743a233028e
Closes-Bug: 1365061
9 years ago
Longgeek 8a85da6a1d Update requirements* files matching global requ
Change-Id: I19713f71b87eff8f6b68e6c38c68e60ffd28e778
9 years ago
Ilya Shakhat 96e9a8b08d Sync Oslo code
Change-Id: I9782f235d09ed2d66add23e4db7a892066cdf0cb
9 years ago
Monty Taylor 3edba4b907 Get project list from gerrit
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

Change-Id: I49a7c3a7ff7d070b8a166c11e66475870cdcd6ca
9 years ago
Ilya Shakhat 8442f2d8e4 Make gravatar link on client-side
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
9 years ago
Christian Berendt 59086405c2 sort requirement files in alphabetical order
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
9 years ago
Ilya Shakhat e2a86d0e8a Sync requirements with globals
Change-Id: I1af1fb3002b56b0d6f7b8d60e123f8f85c4eed96
9 years ago
Ilya Shakhat 3e005e2606 Module groups based on governance program list
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
9 years ago
Ilya Shakhat c5f173a744 Synched requirements with the global list
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
10 years ago
Ilya Shakhat b12567e39a Fixed version of psutil
Resolves bug 1217883

Change-Id: I6473ab4ba5c1232ef230ef62017f277c8117fb48
10 years ago
Ilya Shakhat cc63998aa1 Updated with global requirements
* Move to the latest pbr, remove d2to1
* Move to the latest hacking, remove flake and pep8

Closes bug 1212325

Change-Id: I4384a0470a5ab2297d62d249d08bd78d515c25c2
10 years ago
Ilya Shakhat b721d95d87 Launchpad lib is replaced by direct request via urllib
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
10 years ago
Ilya Shakhat 8de351099a Got rid of persistent storage
Implements blueprint remove-persistent-storage

Change-Id: I640abbf3472eba35e8b456a0ba42c45dc88d3d31
10 years ago
Ilya Shakhat de7e8f297c Use GitHub lib to retrieve project list
* 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
10 years ago
Ilya Shakhat 5c554a35f9 Implemented review processing and stats calculation
* 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
10 years ago
Ilya Shakhat b7f19335f6 Implementation of blueprint stackalytics-core
* 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
10 years ago
Ilya Shakhat a5f1411218 Initial code commit 10 years ago