Changeset 148504 in webkit


Ignore:
Timestamp:
Apr 16, 2013, 2:26:10 AM (12 years ago)
Author:
rniwa@webkit.org
Message:

Remove Account class from committers.py
https://bugs.webkit.org/show_bug.cgi?id=114671

Reviewed by Csaba Osztrogonác.

Account class was added to support watch list email addresses that are not associated with
a particular contributor but nobody uses these email address since Chromium port forked.

Remove it.

Also removed account_by_login from CommitterList since it was never called except its unittests.

  • Scripts/webkitpy/common/checkout/changelog.py:
  • Scripts/webkitpy/common/config/committers.py:

(Contributor):
(Contributor.matches_glob):
(Reviewer.init):
(CommitterList.init):
(CommitterList._email_to_account_map):
(CommitterList._login_to_account_map):
(CommitterList.contributors_by_fuzzy_match):
(CommitterList.contributor_by_email):
(CommitterList.contributor_by_name):
(CommitterList.committer_by_email):
(CommitterList.reviewer_by_email):

  • Scripts/webkitpy/common/config/committers_unittest.py:

(CommittersTest.test_committer_lookup):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla._commit_queue_flag):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:

(test_commit_queue_flag):

  • Scripts/webkitpy/common/watchlist/watchlistparser.py:

(WatchListParser._validate):

Location:
trunk/Tools
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r148503 r148504  
     12013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Remove Account class from committers.py
     4        https://bugs.webkit.org/show_bug.cgi?id=114671
     5
     6        Reviewed by Csaba Osztrogonác.
     7
     8        Account class was added to support watch list email addresses that are not associated with
     9        a particular contributor but nobody uses these email address since Chromium port forked.
     10
     11        Remove it.
     12
     13        Also removed account_by_login from CommitterList since it was never called except its unittests.
     14
     15        * Scripts/webkitpy/common/checkout/changelog.py:
     16        * Scripts/webkitpy/common/config/committers.py:
     17        (Contributor):
     18        (Contributor.matches_glob):
     19        (Reviewer.__init__):
     20        (CommitterList.__init__):
     21        (CommitterList._email_to_account_map):
     22        (CommitterList._login_to_account_map):
     23        (CommitterList.contributors_by_fuzzy_match):
     24        (CommitterList.contributor_by_email):
     25        (CommitterList.contributor_by_name):
     26        (CommitterList.committer_by_email):
     27        (CommitterList.reviewer_by_email):
     28        * Scripts/webkitpy/common/config/committers_unittest.py:
     29        (CommittersTest.test_committer_lookup):
     30        * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
     31        (Bugzilla._commit_queue_flag):
     32        * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
     33        (test_commit_queue_flag):
     34        * Scripts/webkitpy/common/watchlist/watchlistparser.py:
     35        (WatchListParser._validate):
     36
    1372013-04-16  Mike West  <mkwst@chromium.org>
    238
  • trunk/Tools/Scripts/webkitpy/common/checkout/changelog.py

    r143504 r148504  
    3535
    3636from webkitpy.common.config.committers import CommitterList
    37 from webkitpy.common.config.committers import Account
    3837from webkitpy.common.system.filesystem import FileSystem
    3938import webkitpy.common.config.urls as config_urls
  • trunk/Tools/Scripts/webkitpy/common/config/committers.py

    r148503 r148504  
    3333import fnmatch
    3434
    35 class Account(object):
     35
     36class Contributor(object):
    3637    def __init__(self, name, email_or_emails, irc_nickname_or_nicknames=None):
    3738        assert(name)
     
    8485
    8586
    86 class Contributor(Account):
    87     def __init__(self, name, email_or_emails, irc_nickname=None):
    88         Account.__init__(self, name, email_or_emails, irc_nickname)
    89         self.is_contributor = True
    90 
    91 
    9287class Committer(Contributor):
    9388    def __init__(self, name, email_or_emails, irc_nickname=None):
     
    10196        self.can_review = True
    10297
    103 
    104 # This is a list of email addresses that have bugzilla accounts but are not
    105 # used for contributing (such as mailing lists).
    106 
    107 
    108 watchers_who_are_not_contributors = [
    109     Account("Chromium Compositor Bugs", ["cc-bugs@chromium.org"], ""),
    110     Account("Chromium Media Reviews", ["feature-media-reviews@chromium.org"], ""),
    111     Account("Kent Tamura", ["tkent+wkapi@chromium.org"], ""),
    112 ]
    11398
    11499
     
    616601                 committers=committers_unable_to_review,
    617602                 reviewers=reviewers_list,
    618                  contributors=contributors_who_are_not_committers,
    619                  watchers=watchers_who_are_not_contributors):
    620         self._accounts = watchers + contributors + committers + reviewers
     603                 contributors=contributors_who_are_not_committers):
    621604        self._contributors = contributors + committers + reviewers
    622605        self._committers = committers + reviewers
     
    625608        self._accounts_by_email = {}
    626609        self._accounts_by_login = {}
    627 
    628     def accounts(self):
    629         return self._accounts
    630610
    631611    def contributors(self):
     
    648628    def _email_to_account_map(self):
    649629        if not len(self._accounts_by_email):
    650             for account in self._accounts:
     630            for account in self._contributors:
    651631                for email in account.emails:
    652632                    assert(email not in self._accounts_by_email)  # We should never have duplicate emails.
     
    656636    def _login_to_account_map(self):
    657637        if not len(self._accounts_by_login):
    658             for account in self._accounts:
     638            for account in self._contributors:
    659639                if account.emails:
    660640                    login = account.bugzilla_email()
     
    662642                    self._accounts_by_login[login] = account
    663643        return self._accounts_by_login
    664 
    665     def _contributor_only(self, record):
    666         if record and not record.is_contributor:
    667             return None
    668         return record
    669644
    670645    def _committer_only(self, record):
     
    721696
    722697        # 1. Exact match for fullname, email and irc_nicknames
    723         account = self.contributor_by_name(string_in_lowercase) or self.account_by_email(string_in_lowercase) or self.contributor_by_irc_nickname(string_in_lowercase)
     698        account = self.contributor_by_name(string_in_lowercase) or self.contributor_by_email(string_in_lowercase) or self.contributor_by_irc_nickname(string_in_lowercase)
    724699        if account:
    725700            return [account], 0
     
    754729        return contributorWithMinDistance, minDistance
    755730
    756     def account_by_login(self, login):
    757         return self._login_to_account_map().get(login.lower()) if login else None
    758 
    759     def account_by_email(self, email):
     731    def contributor_by_email(self, email):
    760732        return self._email_to_account_map().get(email.lower()) if email else None
    761733
     
    763735        return self._name_to_contributor_map().get(name.lower()) if name else None
    764736
    765     def contributor_by_email(self, email):
    766         return self._contributor_only(self.account_by_email(email))
    767 
    768737    def committer_by_email(self, email):
    769         return self._committer_only(self.account_by_email(email))
     738        return self._committer_only(self.contributor_by_email(email))
    770739
    771740    def reviewer_by_email(self, email):
    772         return self._reviewer_only(self.account_by_email(email))
     741        return self._reviewer_only(self.contributor_by_email(email))
  • trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py

    r140510 r148504  
    2727
    2828import unittest2 as unittest
    29 from webkitpy.common.config.committers import Account, CommitterList, Contributor, Committer, Reviewer
     29from webkitpy.common.config.committers import CommitterList, Contributor, Committer, Reviewer
    3030
    3131class CommittersTest(unittest.TestCase):
    3232    def test_committer_lookup(self):
    33         account = Account('Test Zero', ['zero@test.com', 'zero@gmail.com'], 'zero')
    3433        committer = Committer('Test One', 'one@test.com', 'one')
    3534        reviewer = Reviewer('Test Two', ['two@test.com', 'Two@rad.com', 'so_two@gmail.com'])
     
    3736        contributor_with_two_nicknames = Contributor('Other Four', ['otherfour@webkit.org', 'otherfour@webkit2.org'], ['four', 'otherfour'])
    3837        contributor_with_same_email_username = Contributor('Yet Another Four', ['otherfour@webkit.com'], ['yetanotherfour'])
    39         committer_list = CommitterList(watchers=[account], committers=[committer], reviewers=[reviewer],
     38        committer_list = CommitterList(committers=[committer], reviewers=[reviewer],
    4039            contributors=[contributor, contributor_with_two_nicknames, contributor_with_same_email_username])
    4140
    4241        # Test valid committer, reviewer and contributor lookup
    43         self.assertEqual(committer_list.account_by_email('zero@test.com'), account)
    4442        self.assertEqual(committer_list.committer_by_email('one@test.com'), committer)
    4543        self.assertEqual(committer_list.reviewer_by_email('two@test.com'), reviewer)
     
    6058        # Test that the first email is assumed to be the Bugzilla email address (for now)
    6159        self.assertEqual(committer_list.committer_by_email('two@rad.com').bugzilla_email(), 'two@test.com')
    62 
    63         # Test lookup by login email address
    64         self.assertEqual(committer_list.account_by_login('zero@test.com'), account)
    65         self.assertIsNone(committer_list.account_by_login('zero@gmail.com'))
    66         self.assertEqual(committer_list.account_by_login('one@test.com'), committer)
    67         self.assertEqual(committer_list.account_by_login('two@test.com'), reviewer)
    68         self.assertIsNone(committer_list.account_by_login('Two@rad.com'))
    69         self.assertIsNone(committer_list.account_by_login('so_two@gmail.com'))
    7060
    7161        # Test that a known committer is not returned during reviewer lookup
  • trunk/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py

    r145270 r148504  
    532532    def _commit_queue_flag(self, mark_for_landing, mark_for_commit_queue):
    533533        if mark_for_landing:
    534             user = self.committers.account_by_email(self.username)
     534            user = self.committers.contributor_by_email(self.username)
    535535            mark_for_commit_queue = True
    536536            if not user:
  • trunk/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py

    r140510 r148504  
    306306        bugzilla.committers = CommitterList(reviewers=[Reviewer("WebKit Reviewer", "reviewer@webkit.org")],
    307307            committers=[Committer("WebKit Committer", "committer@webkit.org")],
    308             contributors=[Contributor("WebKit Contributor", "contributor@webkit.org")],
    309             watchers=[])
     308            contributors=[Contributor("WebKit Contributor", "contributor@webkit.org")])
    310309
    311310        def assert_commit_queue_flag(mark_for_landing, mark_for_commit_queue, expected, username=None):
  • trunk/Tools/Scripts/webkitpy/common/watchlist/watchlistparser.py

    r136875 r148504  
    153153            intructions_copy = cc_rule.instructions()[:]
    154154            for email in intructions_copy:
    155                 if not accounts.account_by_email(email):
     155                if not accounts.contributor_by_email(email):
    156156                    cc_rule.remove_instruction(email)
    157157                    self._log_error("The email alias %s which is in the watchlist is not listed as a contributor in committers.py" % email)
Note: See TracChangeset for help on using the changeset viewer.