[PATCH 6 of 7] py3: use try/except to check for basestring
Pulkit Goyal
7895pulkit at gmail.com
Sun Nov 6 13:45:21 EST 2016
This https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-October/089099.html
is a better version of what I want to do, since this didn't went
through I will be using this.
On Fri, Nov 4, 2016 at 9:21 AM, Yuya Nishihara <yuya at tcha.org> wrote:
> On Thu, 03 Nov 2016 03:53:11 +0530, Pulkit Goyal wrote:
>> # HG changeset patch
>> # User Pulkit Goyal <7895pulkit at gmail.com>
>> # Date 1478121825 -19800
>> # Thu Nov 03 02:53:45 2016 +0530
>> # Node ID aef03902a5c1a13e9775059a5efdeb2466399ada
>> # Parent 9e259e7b59b6358eb842eabbc99f4c18a4cc5009
>> py3: use try/except to check for basestring
>>
>> The term basestring don't exist in Python 3.5 and throws a NameError.
>> It used to refer to unicodes in Python 2. Used try/expect to handle this.
>>
>> diff -r 9e259e7b59b6 -r aef03902a5c1 mercurial/ui.py
>> --- a/mercurial/ui.py Thu Nov 03 02:27:46 2016 +0530
>> +++ b/mercurial/ui.py Thu Nov 03 02:53:45 2016 +0530
>> @@ -520,7 +520,12 @@
>> result = self.config(section, name, untrusted=untrusted)
>> if result is None:
>> result = default or []
>> - if isinstance(result, basestring):
>> + checkunicode = False
>> + try:
>> + checkunicode = isinstance(result, basestring)
>> + except NameError:
>> + checkunicode = isinstance(result, str)
>> + if checkunicode:
>> result = _configlist(result.lstrip(' ,\n'))
>
> Given "result" is a source variable of a list to be returned, it shouldn't
> be a unicode. So we can simply use bytes instead of basestring here.
More information about the Mercurial-devel
mailing list