Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | sync: add gentoo-ci pkgcheck results syncronisation | Michael Palimaka | 2017-07-30 | 1 | -1/+62 |
| | |||||
* | models: add a model for gentoo-ci pkgcheck results | Michael Palimaka | 2017-07-30 | 1 | -0/+14 |
| | |||||
* | sync: fix a missing .items to iterate on dict | Gilles Dartiguelongue | 2017-01-23 | 1 | -1/+1 |
| | |||||
* | sync: add version and keyword synchronization | Gilles Dartiguelongue | 2017-01-22 | 1 | -4/+38 |
| | |||||
* | sync: add detail points to sync_versions | Gilles Dartiguelongue | 2017-01-22 | 1 | -0/+15 |
| | |||||
* | sync: use dict facilities for key retrieval with a default | Gilles Dartiguelongue | 2017-01-22 | 1 | -20/+19 |
| | |||||
* | sync: use dict facilities for key retrieval with a default | Gilles Dartiguelongue | 2017-01-22 | 1 | -1/+1 |
| | |||||
* | sync: reduce unneeded conditional evaluation | Gilles Dartiguelongue | 2017-01-22 | 1 | -2/+2 |
| | | | | tags cannot be evaluated to go though these branches after the first if so switch to elif. | ||||
* | sync: replace assert with ValueError raise | Gilles Dartiguelongue | 2017-01-22 | 1 | -4/+5 |
| | | | | Simpler expression, probably here to stay. | ||||
* | sync: define project keys default values | Gilles Dartiguelongue | 2017-01-22 | 1 | -31/+33 |
| | | | | | Costs less than checking for it in each loop iteration and does no harm later to loop on empty lists. | ||||
* | sync: sort imports according to PEP8 | Gilles Dartiguelongue | 2017-01-22 | 1 | -2/+5 |
| | |||||
* | sync: Use dict comprehension in sync_categories as well | Mart Raudsepp | 2017-01-22 | 1 | -3/+1 |
| | |||||
* | sync: use ORM magics in sync_packages | Gilles Dartiguelongue | 2017-01-22 | 1 | -1/+1 |
| | | | | | ORM knows howto map objects to ids through relationships so skip the details and focus on the thing you want to do. | ||||
* | sync: use assert for GLEP67 compliance check | Gilles Dartiguelongue | 2017-01-22 | 1 | -4/+6 |
| | | | | Should never be raised actually but who knows. | ||||
* | sync: Fix pkg sync for packages that have a same named pkg in another category | Mart Raudsepp | 2017-01-22 | 1 | -7/+1 |
| | | | | | | Also fixes an InstrumentedList issue due to change from the categories.packages relationship from dynamic loading to select in commit 8d90fa1009 having broken that earlier | ||||
* | sync: use dict-comprehension in sync_packages | Gilles Dartiguelongue | 2017-01-22 | 1 | -3/+3 |
| | |||||
* | sync: fix broken sync_packages | Gilles Dartiguelongue | 2017-01-22 | 1 | -1/+6 |
| | | | | | I think there is a problem in the logic here but at least this gets me past the initial sync. | ||||
* | models: Add preliminary model and fields for keyword and p.mask storage | Mart Raudsepp | 2016-12-07 | 1 | -2/+22 |
| | |||||
* | sync: Always handle e-mails in lower case to not end up with duplicates | Mart Raudsepp | 2016-12-07 | 2 | -10/+15 |
| | | | | Suggested-by: Doug Freed <dwfreed@mtu.edu> | ||||
* | sync: Increase the sync delta to 1 hour and print the sync count and oldest ↵ | Mart Raudsepp | 2016-12-07 | 1 | -2/+5 |
| | | | | TS at start | ||||
* | sync: Don't forget to commit db transaction after all packages are synced | Mart Raudsepp | 2016-12-07 | 1 | -0/+2 |
| | | | | | Sometimes don't need to cancel out, so save the updates after the last modulo 100 to DB too :) | ||||
* | sync: Order package details syncing based on how old the last sync was | Mart Raudsepp | 2016-12-07 | 1 | -1/+1 |
| | | | | | | This way if we got stuck and re-run much later (or it has exceeded the buffer time constant), we'll at least sync the oldest ones first, so we always end up being less out of date with the oldest sync ts. | ||||
* | sync: Add package description and maintainers sync | Mart Raudsepp | 2016-12-07 | 1 | -4/+45 |
| | | | | | | | | Maintains a sync timestamp to skip recently synced packages, so if a previous run got stuck, we can skip re-doing it too soon. Saves the DB transaction after every 100 packages, because packages.g.o seems to rate-limit us, so at least we will have things saved into DB periodically to cancel out when we get stuck and restart. | ||||
* | models: Add package maintainers relationship table and ORM relationships | Mart Raudsepp | 2016-12-07 | 1 | -0/+9 |
| | |||||
* | models: Add description and last_sync_ts columns for Package | Mart Raudsepp | 2016-12-07 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | description we will get from package.g.o per-package detailed json, last_sync_ts will be used to record when that detailed json was last pulled, so that we can rate-limit as-needed. If still using sqlite, can DROP TABLE package; and re-create with ./manage.py init or add the columns manually ALTER TABLE package ADD COLUMN description VARCHAR(500); ALTER TABLE package ADD COLUMN last_sync_ts TIMESTAMP NOT NULL; though that NOT NULL vs default on sqlalchemy's side for now might pose an issue, solving of which is an easy exercise for those that care instead of recreating. | ||||
* | sync: return empty dict on projects retrieval error, so the caller won't error | Mart Raudsepp | 2016-12-05 | 1 | -3/+3 |
| | |||||
* | sync: use requests response.json() directly instead of json.loads | Mart Raudsepp | 2016-12-04 | 1 | -4/+3 |
| | | | | | | This should ensure requests will handle UTF-8 fully correctly for us Suggested-by: Doug Freed <dwfreed@mtu.edu> | ||||
* | sync: Fix UTF-8 handling for projects.xml import | Mart Raudsepp | 2016-12-04 | 1 | -1/+1 |
| | | | | | | | | | Need to feed response.content bytestring into ElementTree, not response.text. With the latter ET seems to figure it's already decoded and goes all latin-1 on us. From response.content bytestream it notices the UTF-8 encoding XML markup and does things right. Diagnosed-by: Doug Freed <dwfreed@mtu.edu> | ||||
* | sync: Update individual maintainer names during projects sync for the time being | Mart Raudsepp | 2016-12-04 | 1 | -2/+4 |
| | | | | | ... until we don't have master data for this that we shouldn't overwrite. Also remove a now done TODO item and tweak a debug string I messed up pre-commit. | ||||
* | sync: Project members and subprojects syncing to DB | Mart Raudsepp | 2016-12-04 | 1 | -1/+25 |
| | |||||
* | models: Add association table and ORM relationship between projects and members | Mart Raudsepp | 2016-12-04 | 1 | -0/+12 |
| | |||||
* | sync: Initial projects syncing to DB without members | Mart Raudsepp | 2016-12-04 | 1 | -7/+28 |
| | |||||
* | models: Add Maintainer model | Mart Raudsepp | 2016-12-04 | 1 | -0/+11 |
| | | | | | As this is a new table, just re-doing "./manage.py init" should add it to db, while keeping old data. | ||||
* | models: Use sqlalchemy Unicode columns instead of String | Mart Raudsepp | 2016-12-04 | 1 | -4/+4 |
| | |||||
* | Add parsed project members to the result dict | Mart Raudsepp | 2016-11-11 | 1 | -0/+3 |
| | |||||
* | Normalize subproject inherit-members to True or False during parsing | Mart Raudsepp | 2016-11-10 | 1 | -2/+2 |
| | |||||
* | Initial projects.xml parsing code with debug printout | Mart Raudsepp | 2016-11-10 | 1 | -4/+55 |
| | |||||
* | Add dirty sync_versions debug code | Mart Raudsepp | 2016-11-10 | 1 | -1/+11 |
| | | | | | | | This just prints the first packages versions JSON data out and exits, so just some initial debug code out of the way to sync in projects.xml first, as sync_versions will need to reference projects and maintainers, so better to finish projects.xml sync first. | ||||
* | Add a full_name property to package and remove some debug spam on sync | Mart Raudsepp | 2016-09-24 | 2 | -1/+4 |
| | |||||
* | Add syncing of packages in categories from packages.g.o (just name) | Mart Raudsepp | 2016-09-07 | 1 | -2/+26 |
| | | | | Also add manage.py commands to call the sync steps individually for testing | ||||
* | Don't double-quote debug output for full atoms from %r usage | Mart Raudsepp | 2016-09-07 | 1 | -2/+2 |
| | |||||
* | Add initial code to sync categories from packages.g.o with associated plumbing | Mart Raudsepp | 2016-09-07 | 2 | -0/+49 |
Now this should make http://localhost:5000 show the available categories: ./manage.py init ./manage.py sync_gentoo ./manage.py runserver |