Merged revisions 77737 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r77737 | benjamin.peterson | 2010-01-24 21:37:42 -0600 (Sun, 24 Jan 2010) | 9 lines

  Merged revisions 77735 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r77735 | benjamin.peterson | 2010-01-24 21:31:13 -0600 (Sun, 24 Jan 2010) | 1 line

    fix an UnboundLocalError when the release file is empty #7773
  ........
................
This commit is contained in:
Benjamin Peterson 2010-01-25 03:40:53 +00:00
parent fcdf9f215e
commit 79e0b818c5
4 changed files with 11 additions and 2 deletions

View file

@ -245,6 +245,12 @@ _supported_dists = (
def _parse_release_file(firstline): def _parse_release_file(firstline):
# Default to empty 'version' and 'id' strings. Both defaults are used
# when 'firstline' is empty. 'id' defaults to empty when an id can not
# be deduced.
version = ''
id = ''
# Parse the first line # Parse the first line
m = _lsb_release_version.match(firstline) m = _lsb_release_version.match(firstline)
if m is not None: if m is not None:
@ -262,8 +268,6 @@ def _parse_release_file(firstline):
version = l[0] version = l[0]
if len(l) > 1: if len(l) > 1:
id = l[1] id = l[1]
else:
id = ''
return '', version, id return '', version, id
def linux_distribution(distname='', version='', id='', def linux_distribution(distname='', version='', id='',

View file

@ -191,6 +191,7 @@ class PlatformTest(unittest.TestCase):
('Red Hat Enterprise Linux release 4 (Nahant)', ('Red Hat Enterprise Linux', '4', 'Nahant')), ('Red Hat Enterprise Linux release 4 (Nahant)', ('Red Hat Enterprise Linux', '4', 'Nahant')),
('CentOS release 4', ('CentOS', '4', None)), ('CentOS release 4', ('CentOS', '4', None)),
('Rocks release 4.2.1 (Cydonia)', ('Rocks', '4.2.1', 'Cydonia')), ('Rocks release 4.2.1 (Cydonia)', ('Rocks', '4.2.1', 'Cydonia')),
('', ('', '', '')), # If there's nothing there.
): ):
self.assertEqual(platform._parse_release_file(input), output) self.assertEqual(platform._parse_release_file(input), output)

View file

@ -347,6 +347,7 @@ Jeremy Hylton
Gerhard Häring Gerhard Häring
Mihai Ibanescu Mihai Ibanescu
Lars Immisch Lars Immisch
Meador Inge
Tony Ingraldi Tony Ingraldi
John Interrante John Interrante
Bob Ippolito Bob Ippolito

View file

@ -73,6 +73,9 @@ Core and Builtins
Library Library
------- -------
- Issue #7773: Fix an UnboundLocalError in platform.linux_distribution() when
the release file is empty.
- Issue #7561: Fix crashes when using bytearray objects with the posix - Issue #7561: Fix crashes when using bytearray objects with the posix
module. module.