buildbucket's model.py, service.py and swarming.py are large files with too much responsibilities. Decompose them into smaller files with less responsibilities.
Too hard, I'd rather reimplement this in Go
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/99fa41f5395f64cff4ac2de348e79cf49a7ce66b commit 99fa41f5395f64cff4ac2de348e79cf49a7ce66b Author: Nodir Turakulov <nodir@google.com> Date: Thu May 17 15:12:07 2018 [buildbucket] add buildtags.py Move all build tags related functions and globals to buildtags.py. Update the rest of the code. Pure refactoring. No functional changes. Bug: 840853 Change-Id: I63e90eebfd503cc00070e887e9bd1b3253df1035 Reviewed-on: https://chromium-review.googlesource.com/1062498 Commit-Queue: Nodir Turakulov <nodir@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/swarming/swarming.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/test/service_test.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/v2/api.py [add] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/test/buildtags_test.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/v2/test/api_test.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/service.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/metrics.py [add] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/buildtags.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/v2/builds.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/swarming/test/swarming_test.py [modify] https://crrev.com/99fa41f5395f64cff4ac2de348e79cf49a7ce66b/appengine/cr-buildbucket/model.py
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/869f21e4cdbc2bf99b4ed2c0b51b5cbecda26ece commit 869f21e4cdbc2bf99b4ed2c0b51b5cbecda26ece Author: Nodir Turakulov <nodir@google.com> Date: Wed Jun 20 23:46:01 2018 [buildbucket] Move parse_identity from service.py to user.py Bug: 854484 , 840853 Change-Id: I42a64c6d163bec3bce86ec0d4dc829fda0b5d261 Reviewed-on: https://chromium-review.googlesource.com/1108508 Commit-Queue: Nodir Turakulov <nodir@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/869f21e4cdbc2bf99b4ed2c0b51b5cbecda26ece/appengine/cr-buildbucket/service.py [modify] https://crrev.com/869f21e4cdbc2bf99b4ed2c0b51b5cbecda26ece/appengine/cr-buildbucket/user.py [modify] https://crrev.com/869f21e4cdbc2bf99b4ed2c0b51b5cbecda26ece/appengine/cr-buildbucket/test/user_test.py
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/8c3bc760c43930c867638648281adf8cf22ceb43 commit 8c3bc760c43930c867638648281adf8cf22ceb43 Author: Nodir Turakulov <nodir@google.com> Date: Thu Jun 21 00:49:01 2018 [buildbucket] Add search.py Move search-related code from monolithic service.py and model.py to search.py, including two search implementations and TagIndex data models. No functional changes. Bug: 854484 , 840853 Change-Id: If83db1b82c82ed9d4fa84d1d67da42974f579105 Reviewed-on: https://chromium-review.googlesource.com/1108566 Commit-Queue: Nodir Turakulov <nodir@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/handlers.py [add] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/search.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/test/handlers_test.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/test/service_test.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/v2/api.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/test/api_test.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/v2/test/api_test.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/service.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/test/model_test.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/api.py [add] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/test/search_test.py [modify] https://crrev.com/8c3bc760c43930c867638648281adf8cf22ceb43/appengine/cr-buildbucket/model.py
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5 commit 5895a4c112dfe8009f3d0b210abfa4061c1fa3a5 Author: Nodir Turakulov <nodir@google.com> Date: Wed Jun 27 18:46:33 2018 [buildbucket] Add creation.py Extract all build creation code from service.py to creation.py. Move tests too. This is pure refactoring. Bug: 840853 Change-Id: I0326bad9d257e1f738ff6251cfac4c25cfc0e23d Reviewed-on: https://chromium-review.googlesource.com/1115876 Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Commit-Queue: Nodir Turakulov <nodir@chromium.org> [modify] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/errors.py [modify] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/api.py [modify] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/test/api_test.py [add] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/test/creation_test.py [modify] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/service.py [modify] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/test/errors_test.py [add] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/creation.py [modify] https://crrev.com/5895a4c112dfe8009f3d0b210abfa4061c1fa3a5/appengine/cr-buildbucket/test/service_test.py
Comment 1 by no...@chromium.org
, May 8 2018Labels: buildbucket-go