Title: [268275] trunk/Tools
Revision
268275
Author
[email protected]
Date
2020-10-09 12:19:52 -0700 (Fri, 09 Oct 2020)

Log Message

[webkitscmpy] Support unicode contributor names
https://bugs.webkit.org/show_bug.cgi?id=217520
<rdar://problem/70143490>

Reviewed by Dewei Zhu.

* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.__init__): Standardize name and emails as unicode.
(Contributor.__repr__): Ensure native string representation.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor):
(TestContributor.test_unicode):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (268274 => 268275)


--- trunk/Tools/ChangeLog	2020-10-09 19:15:32 UTC (rev 268274)
+++ trunk/Tools/ChangeLog	2020-10-09 19:19:52 UTC (rev 268275)
@@ -1,3 +1,19 @@
+2020-10-09  Jonathan Bedard  <[email protected]>
+
+        [webkitscmpy] Support unicode contributor names
+        https://bugs.webkit.org/show_bug.cgi?id=217520
+        <rdar://problem/70143490>
+
+        Reviewed by Dewei Zhu.
+
+        * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
+        (Contributor.__init__): Standardize name and emails as unicode.
+        (Contributor.__repr__): Ensure native string representation.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
+        (TestContributor):
+        (TestContributor.test_unicode):
+
 2020-10-09  Kate Cheney  <[email protected]>
 
         Promote WKWebView media playback SPI to API

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (268274 => 268275)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2020-10-09 19:15:32 UTC (rev 268274)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2020-10-09 19:19:52 UTC (rev 268275)
@@ -46,7 +46,7 @@
         "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
     )
 
-version = Version(0, 1, 0)
+version = Version(0, 1, 1)
 
 AutoInstall.register(Package('dateutil', Version(2, 8, 1), pypi_name='python-dateutil'))
 

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py (268274 => 268275)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py	2020-10-09 19:15:32 UTC (rev 268274)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py	2020-10-09 19:19:52 UTC (rev 268275)
@@ -22,7 +22,9 @@
 
 import re
 
+from webkitcorepy import string_utils
 
+
 class Contributor(object):
     GIT_AUTHOR_RE = re.compile(r'Author: (?P<author>.*) <(?P<email>[^@]+@[^@]+)(@.*)?>')
     AUTOMATED_CHECKIN_RE = re.compile(r'Author: (?P<author>.*) <devnull>')
@@ -74,8 +76,8 @@
         return contributor
 
     def __init__(self, name, emails=None):
-        self.name = name
-        self.emails = emails or []
+        self.name = string_utils.decode(name)
+        self.emails = list(filter(string_utils.decode, emails or []))
 
     @property
     def email(self):
@@ -84,7 +86,10 @@
         return self.emails[0]
 
     def __repr__(self):
-        return '{} <{}>'.format(self.name, self.email)
+        return '{} <{}>'.format(
+            string_utils.encode(self.name, target_type=str),
+            string_utils.encode(self.email, target_type=str),
+        )
 
     def __hash__(self):
         return hash(self.name)

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py (268274 => 268275)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py	2020-10-09 19:15:32 UTC (rev 268274)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py	2020-10-09 19:19:52 UTC (rev 268275)
@@ -22,6 +22,7 @@
 
 import unittest
 
+from webkitcorepy import string_utils
 from webkitscmpy import Contributor
 
 
@@ -130,3 +131,9 @@
             sorted([Contributor('Jonathan Bedard'), Contributor('Aakash Jain')]),
             [Contributor('Aakash Jain'), Contributor('Jonathan Bedard')],
         )
+
+    def test_unicode(self):
+        self.assertEqual(
+            str(Contributor(u'Michael Br\u00fcning', ['[email protected]'])),
+            string_utils.encode(u'Michael Br\u00fcning <[email protected]>', target_type=str),
+        )
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to