Changeset 95118 in webkit


Ignore:
Timestamp:
Sep 14, 2011 1:58:45 PM (13 years ago)
Author:
rniwa@webkit.org
Message:

committers.py should support multiple IRC nicknames
https://bugs.webkit.org/show_bug.cgi?id=68110

Reviewed by Eric Seidel.

Add multiple IRC nickname support to committers.py

  • Scripts/webkitpy/common/config/committers.py:
  • Scripts/webkitpy/common/config/committers_unittest.py:
  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/sheriff.py:
Location:
trunk/Tools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r95109 r95118  
     12011-09-14  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        committers.py should support multiple IRC nicknames
     4        https://bugs.webkit.org/show_bug.cgi?id=68110
     5
     6        Reviewed by Eric Seidel.
     7
     8        Add multiple IRC nickname support to committers.py
     9
     10        * Scripts/webkitpy/common/config/committers.py:
     11        * Scripts/webkitpy/common/config/committers_unittest.py:
     12        * Scripts/webkitpy/tool/bot/irc_command.py:
     13        * Scripts/webkitpy/tool/bot/sheriff.py:
     14
    1152011-09-14  Jon Lee  <jonlee@apple.com>
    216
  • trunk/Tools/Scripts/webkitpy/common/config/committers.py

    r95098 r95118  
    3030# WebKit's Python module for committer and reviewer validation.
    3131
    32 
    3332class Contributor(object):
    34     def __init__(self, name, email_or_emails, irc_nickname=None):
     33    def __init__(self, name, email_or_emails, irc_nickname_or_nicknames=None):
    3534        assert(name)
    3635        assert(email_or_emails)
     
    4039        else:
    4140            self.emails = email_or_emails
    42         self.irc_nickname = irc_nickname
     41        if isinstance(irc_nickname_or_nicknames, str):
     42            self.irc_nicknames = [irc_nickname_or_nicknames]
     43        else:
     44            self.irc_nicknames = irc_nickname_or_nicknames
    4345        self.can_commit = False
    4446        self.can_review = False
     
    5658        if string in self.full_name.lower():
    5759            return True
    58         if self.irc_nickname and string in self.irc_nickname.lower():
    59             return True
     60        if self.irc_nicknames:
     61            for nickname in self.irc_nicknames:
     62                if string in nickname.lower():
     63                    return True
    6064        for email in self.emails:
    6165            if string in email.lower():
     
    340344    Reviewer("Darin Fisher", ["fishd@chromium.org", "darin@chromium.org"], "fishd"),
    341345    Reviewer("David Harrison", "harrison@apple.com", "harrison"),
    342     Reviewer("David Hyatt", "hyatt@apple.com", "hyatt"),
     346    Reviewer("David Hyatt", "hyatt@apple.com", ["dhyatt", "hyatt"]),
    343347    Reviewer("David Kilzer", ["ddkilzer@webkit.org", "ddkilzer@apple.com"], "ddkilzer"),
    344348    Reviewer("David Levin", "levin@chromium.org", "dave_levin"),
     
    368372    Reviewer("Justin Garcia", "justin.garcia@apple.com", "justing"),
    369373    Reviewer("Ken Kocienda", "kocienda@apple.com"),
    370     Reviewer("Kenneth Rohde Christiansen", ["kenneth@webkit.org", "kenneth.christiansen@openbossa.org", "kenneth.christiansen@gmail.com"], "kenne"),
     374    Reviewer("Kenneth Rohde Christiansen", ["kenneth@webkit.org", "kenneth.christiansen@openbossa.org", "kenneth.christiansen@gmail.com"], ["kenne", "kenneth"]),
    371375    Reviewer("Kenneth Russell", "kbr@google.com", "kbr_google"),
    372376    Reviewer("Kent Tamura", "tkent@chromium.org", "tkent"),
     
    381385    Reviewer("Martin Robinson", ["mrobinson@webkit.org", "mrobinson@igalia.com", "martin.james.robinson@gmail.com"], "mrobinson"),
    382386    Reviewer("Mihai Parparita", "mihaip@chromium.org", "mihaip"),
    383     Reviewer("Nate Chapin", "japhet@chromium.org", "japhet"),
     387    Reviewer("Nate Chapin", "japhet@chromium.org", ["japhet", "natechapin"]),
    384388    Reviewer("Nikolas Zimmermann", ["zimmermann@kde.org", "zimmermann@physik.rwth-aachen.de", "zimmermann@webkit.org"], "wildfox"),
    385389    Reviewer("Noam Rosenthal", "noam.rosenthal@nokia.com", "noamr"),
     
    387391    Reviewer("Oliver Hunt", "oliver@apple.com", "olliej"),
    388392    Reviewer("Pavel Feldman", "pfeldman@chromium.org", "pfeldman"),
    389     Reviewer("Philippe Normand", ["pnormand@igalia.com", "philn@webkit.org", "philn@igalia.com"], "philn-tp"),
     393    Reviewer("Philippe Normand", ["pnormand@igalia.com", "philn@webkit.org", "philn@igalia.com"], ["philn-tp", "pnormand"]),
    390394    Reviewer("Richard Williamson", "rjw@apple.com", "rjw"),
    391395    Reviewer("Rob Buis", ["rwlbuis@gmail.com", "rwlbuis@webkit.org"], "rwlbuis"),
     
    463467    def contributor_by_irc_nickname(self, irc_nickname):
    464468        for contributor in self.contributors():
    465             if contributor.irc_nickname and contributor.irc_nickname == irc_nickname:
     469            if contributor.irc_nicknames and irc_nickname in contributor.irc_nicknames:
    466470                return contributor
    467471        return None
  • trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py

    r94993 r95118  
    3535        reviewer = Reviewer('Test Two', ['two@test.com', 'two@rad.com', 'so_two@gmail.com'])
    3636        contributor = Contributor('Test Three', ['three@test.com'], 'three')
    37         committer_list = CommitterList(committers=[committer], reviewers=[reviewer], contributors=[contributor])
     37        contributor_with_two_nicknames = Contributor('Other Four', ['otherfour@webkit.org'], ['four', 'otherfour'])
     38        committer_list = CommitterList(committers=[committer], reviewers=[reviewer], contributors=[contributor, contributor_with_two_nicknames])
    3839
    3940        # Test valid committer, reviewer and contributor lookup
     
    6768        self.assertEqual(committer.emails, ['one@test.com'])
    6869
    69         self.assertEqual(committer.irc_nickname, 'one')
     70        self.assertEqual(committer.irc_nicknames, ['one'])
    7071        self.assertEqual(committer_list.contributor_by_irc_nickname('one'), committer)
    7172        self.assertEqual(committer_list.contributor_by_irc_nickname('three'), contributor)
     73        self.assertEqual(committer_list.contributor_by_irc_nickname('four'), contributor_with_two_nicknames)
     74        self.assertEqual(committer_list.contributor_by_irc_nickname('otherfour'), contributor_with_two_nicknames)
    7275
    7376        # Test that the lists returned are are we expect them.
    74         self.assertEqual(committer_list.contributors(), [contributor, committer, reviewer])
     77        self.assertEqual(committer_list.contributors(), [contributor, contributor_with_two_nicknames, committer, reviewer])
    7578        self.assertEqual(committer_list.committers(), [committer, reviewer])
    7679        self.assertEqual(committer_list.reviewers(), [reviewer])
  • trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py

    r95042 r95118  
    174174class Whois(IRCCommand):
    175175    def _nick_or_full_record(self, contributor):
    176         if contributor.irc_nickname:
    177             return contributor.irc_nickname
     176        if contributor.irc_nicknames:
     177            return ', '.join(contributor.irc_nicknames)
    178178        return unicode(contributor)
    179179
     
    190190        if len(contributors) == 1:
    191191            contributor = contributors[0]
    192             if not contributor.irc_nickname:
     192            if not contributor.irc_nicknames:
    193193                return "%s: %s hasn't told me their nick. Boo hoo :-(" % (nick, contributor)
    194194            if contributor.emails and search_string.lower() not in map(lambda email: email.lower(), contributor.emails):
    195195                formattedEmails = ', '.join(contributor.emails)
    196                 return "%s: %s is %s (%s). Why do you ask?" % (nick, search_string, contributor.irc_nickname, formattedEmails)
     196                return "%s: %s is %s (%s). Why do you ask?" % (nick, search_string, self._nick_or_full_record(contributor), formattedEmails)
    197197            else:
    198                 return "%s: %s is %s. Why do you ask?" % (nick, search_string, contributor.irc_nickname)
     198                return "%s: %s is %s. Why do you ask?" % (nick, search_string, self._nick_or_full_record(contributor))
    199199        contributor_nicks = map(self._nick_or_full_record, contributors)
    200200        contributors_string = join_with_separators(contributor_nicks, only_two_separator=" or ", last_separator=', or ')
  • trunk/Tools/Scripts/webkitpy/tool/bot/sheriff.py

    r90507 r95118  
    4040
    4141    def responsible_nicknames_from_commit_info(self, commit_info):
    42         return [party.irc_nickname for party in commit_info.responsible_parties() if party.irc_nickname]
     42        nestedList = [party.irc_nicknames for party in commit_info.responsible_parties() if party.irc_nicknames]
     43        return reduce(lambda list, childList: list + childList, nestedList)
    4344
    4445    def post_irc_warning(self, commit_info, builders):
Note: See TracChangeset for help on using the changeset viewer.