[Buildroot] [PATCH 1/1] utils/scanpypi: remove python six module

Thomas Perale thomas.perale at mind.be
Thu Sep 25 20:16:42 UTC 2025


In reply of:
> We dropped support for python2 a while back, as such we can remove
> the python six module which was only needed for backwards
> comaptibility with python2.
> 
> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>

Applied to 2025.02.x, 2025.05.x & 2025.08.x. Thanks

> ---
>  utils/scanpypi | 37 ++++++++++++++-----------------------
>  1 file changed, 14 insertions(+), 23 deletions(-)
> 
> diff --git a/utils/scanpypi b/utils/scanpypi
> index af62c01632..61879e39d4 100755
> --- a/utils/scanpypi
> +++ b/utils/scanpypi
> @@ -22,16 +22,10 @@ import tempfile
>  import traceback
>  import importlib
>  import importlib.metadata
> -import six.moves.urllib.request
> -import six.moves.urllib.error
> -import six.moves.urllib.parse
> -from six.moves import map
> -from six.moves import zip
> -from six.moves import input
> -if six.PY2:
> -    import StringIO
> -else:
> -    import io
> +import urllib.request
> +import urllib.error
> +import urllib.parse
> +import io
>  
>  BUF_SIZE = 65536
>  
> @@ -225,15 +219,15 @@ class BuildrootPackage():
>          self.metadata_url = 'https://pypi.org/pypi/{pkg}/json'.format(
>              pkg=self.real_name)
>          try:
> -            pkg_json = six.moves.urllib.request.urlopen(self.metadata_url).read().decode()
> -        except six.moves.urllib.error.HTTPError as error:
> +            pkg_json = urllib.request.urlopen(self.metadata_url).read().decode()
> +        except urllib.error.HTTPError as error:
>              print('ERROR:', error.getcode(), error.msg, file=sys.stderr)
>              print('ERROR: Could not find package {pkg}.\n'
>                    'Check syntax inside the python package index:\n'
>                    'https://pypi.python.org/pypi/ '
>                    .format(pkg=self.real_name))
>              raise
> -        except six.moves.urllib.error.URLError:
> +        except urllib.error.URLError:
>              print('ERROR: Could not find package {pkg}.\n'
>                    'Check syntax inside the python package index:\n'
>                    'https://pypi.python.org/pypi/ '
> @@ -260,7 +254,7 @@ class BuildrootPackage():
>                  'digests': None}]
>              # In this case, we can't get the name of the downloaded file
>              # from the pypi api, so we need to find it, this should work
> -            urlpath = six.moves.urllib.parse.urlparse(
> +            urlpath = urllib.parse.urlparse(
>                  self.metadata['info']['download_url']).path
>              # urlparse().path give something like
>              # /path/to/file-version.tar.gz
> @@ -272,8 +266,8 @@ class BuildrootPackage():
>              try:
>                  print('Downloading package {pkg} from {url}...'.format(
>                      pkg=self.real_name, url=download_url['url']))
> -                download = six.moves.urllib.request.urlopen(download_url['url'])
> -            except six.moves.urllib.error.HTTPError as http_error:
> +                download = urllib.request.urlopen(download_url['url'])
> +            except urllib.error.HTTPError as http_error:
>                  download = http_error
>              else:
>                  self.used_url = download_url
> @@ -288,7 +282,7 @@ class BuildrootPackage():
>              raise DownloadFailed('Failed to download package {pkg}: '
>                                   'No source archive available'
>                                   .format(pkg=self.real_name))
> -        elif download.__class__ == six.moves.urllib.error.HTTPError:
> +        elif download.__class__ == urllib.error.HTTPError:
>              raise download
>  
>          self.filename = self.used_url['filename']
> @@ -317,10 +311,7 @@ class BuildrootPackage():
>          Keyword arguments:
>          tmp_path -- directory where you want the package to be extracted
>          """
> -        if six.PY2:
> -            as_file = StringIO.StringIO(self.as_string)
> -        else:
> -            as_file = io.BytesIO(self.as_string)
> +        as_file = io.BytesIO(self.as_string)
>          if self.filename[-3:] == 'zip':
>              with zipfile.ZipFile(as_file) as as_zipfile:
>                  tmp_pkg = os.path.join(tmp_path, self.buildroot_name)
> @@ -797,12 +788,12 @@ def main():
>              print('Fetching package', package.real_name)
>              try:
>                  package.fetch_package_info()
> -            except (six.moves.urllib.error.URLError, six.moves.urllib.error.HTTPError):
> +            except (urllib.error.URLError, urllib.error.HTTPError):
>                  continue
>  
>              try:
>                  package.download_package()
> -            except six.moves.urllib.error.HTTPError as error:
> +            except urllib.error.HTTPError as error:
>                  print('Error: {code} {reason}'.format(code=error.code,
>                                                        reason=error.reason))
>                  print('Error downloading package :', package.buildroot_name)
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot


More information about the buildroot mailing list