WebKit Bugzilla
Attachment 361145 Details for
Bug 194264
: [ews-app] Add method to save BuilderMapping to database
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed patch
ews-app-save-buildermapping.patch (text/plain), 3.50 KB, created by
Aakash Jain
on 2019-02-04 18:19:29 PST
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Aakash Jain
Created:
2019-02-04 18:19:29 PST
Size:
3.50 KB
patch
obsolete
>Index: Tools/ChangeLog >=================================================================== >--- Tools/ChangeLog (revision 240959) >+++ Tools/ChangeLog (working copy) >@@ -1,3 +1,18 @@ >+2019-02-04 Aakash Jain <aakash_jain@apple.com> >+ >+ [ews-app] Add method to save BuilderMapping to database >+ https://bugs.webkit.org/show_bug.cgi?id=194264 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: >+ (BuilderMapping.__str__): >+ (BuilderMapping): >+ (BuilderMapping.save_mapping): >+ (BuilderMapping.update_mapping): >+ (BuilderMapping.get_existing_mapping): >+ (BuilderMapping.is_valid_mapping): >+ > 2019-02-04 Jonathan Bedard <jbedard@apple.com> > > webkitpy: Precedence of booted devices should match precedence in DEFAULT_DEVICE_TYPES >Index: Tools/BuildSlaveSupport/ews-app/ews/models/buildermapping.py >=================================================================== >--- Tools/BuildSlaveSupport/ews-app/ews/models/buildermapping.py (revision 240959) >+++ Tools/BuildSlaveSupport/ews-app/ews/models/buildermapping.py (working copy) >@@ -22,7 +22,13 @@ > > from __future__ import unicode_literals > >+import logging >+ > from django.db import models >+from ews.config import ERR_UNEXPECTED, SUCCESS >+import ews.common.util as util >+ >+_log = logging.getLogger(__name__) > > > class BuilderMapping(models.Model): >@@ -31,4 +37,47 @@ class BuilderMapping(models.Model): > display_name = models.TextField() > > def __str__(self): >- return "{}: {}".format(self.builder_id, self.name) >+ return "{}: {}".format(self.builder_id, self.display_name) >+ >+ @classmethod >+ def save_mapping(cls, builder_id, builder_name, display_name): >+ if not BuilderMapping.is_valid_mapping(builder_id, builder_name, display_name): >+ return ERR_UNEXPECTED >+ >+ mapping = BuilderMapping.get_existing_mapping(builder_id) >+ if mapping: >+ # If the mapping is updated, e.g.: display name changed. >+ return BuilderMapping.update_mapping(mapping, builder_id, builder_name, display_name) >+ >+ BuilderMapping(builder_id, builder_name, display_name).save() >+ _log.info('Saved mapping for builder_id: {}, name: {}, display_name: {}'.format(builder_id, builder_name, display_name)) >+ return SUCCESS >+ >+ @classmethod >+ def update_mapping(cls, mapping, builder_id, builder_name, display_name): >+ if mapping.builder_id != builder_id: >+ _log.error('builder_id {} does not match with builer_id {}. Ignoring new data.'.format(mapping.builder_id, builder_id)) >+ return ERR_UNEXPECTED >+ >+ if mapping.builder_name == builder_name and mapping.display_name == display_name: >+ _log.debug('Mapping already exist for builder_id: {}'.format(builder_id)) >+ return SUCCESS >+ >+ mapping.builder_name = builder_name >+ mapping.display_name = display_name >+ mapping.save(update_fields=['builder_name', 'display_name']) >+ _log.info('Updated mapping for builder_id: {}, name: {}, display_name: {}'.format(builder_id, builder_name, display_name)) >+ return SUCCESS >+ >+ @classmethod >+ def get_existing_mapping(cls, builder_id): >+ try: >+ return BuilderMapping.objects.get(builder_id=builder_id) >+ except: >+ return None >+ >+ @classmethod >+ def is_valid_mapping(cls, builder_id, builder_name, display_name): >+ if not util.is_valid_id(builder_id): >+ return False >+ return True
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
lforschler
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194264
: 361145