Changeset 242637 in webkit


Ignore:
Timestamp:
Mar 7, 2019 11:11:39 PM (5 years ago)
Author:
tpopela@redhat.com
Message:

[GTK] Make Tools/gtkdoc python3 compatible
https://bugs.webkit.org/show_bug.cgi?id=195359

Reviewed by Carlos Garcia Campos.

  • gtkdoc/generate-gtkdoc:

ConfigParser was reworked in Python 3.2 so we have adapt the code to
work with Python 2 and 3.
(get_gtkdoc_module_paths):
The iteritems() was removed in Python 3, so let's use items() that's
available in Python 2 and 3.
(get_generator_for_config):

  • gtkdoc/gtkdoc.py:

(GTKDoc._run_command):
The sys.stdout.write() is expecting str in Python 3 and not bytes
(that are coming from stdout.encode()). Use sys.stdout.buffer.write()
for passing the bytes there.

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r242632 r242637  
     12019-03-07  Tomas Popela  <tpopela@redhat.com>
     2
     3        [GTK] Make Tools/gtkdoc python3 compatible
     4        https://bugs.webkit.org/show_bug.cgi?id=195359
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        * gtkdoc/generate-gtkdoc:
     9        ConfigParser was reworked in Python 3.2 so we have adapt the code to
     10        work with Python 2 and 3.
     11        (get_gtkdoc_module_paths):
     12        The iteritems() was removed in Python 3, so let's use items() that's
     13        available in Python 2 and 3.
     14        (get_generator_for_config):
     15        * gtkdoc/gtkdoc.py:
     16        (GTKDoc._run_command):
     17        The sys.stdout.write() is expecting str in Python 3 and not bytes
     18        (that are coming from stdout.encode()). Use sys.stdout.buffer.write()
     19        for passing the bytes there.
     20
    1212019-03-07  Fujii Hironori  <Hironori.Fujii@sony.com>
    222
  • trunk/Tools/gtkdoc/generate-gtkdoc

    r238853 r242637  
    1717
    1818from __future__ import print_function
    19 from ConfigParser import SafeConfigParser
    2019
    2120import argparse
     
    2726import sys
    2827
     28if sys.version_info < (3, 2):
     29    from ConfigParser import SafeConfigParser as ConfigParser
     30else:
     31    from configparser import ConfigParser
     32
    2933top_level_directory = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..'))
    3034sys.path.insert(0, os.path.join(top_level_directory, 'Tools', 'glib'))
    3135import common
    3236
    33 sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
    34 sys.stderr = codecs.getwriter("utf-8")(sys.stderr)
     37if sys.version_info.major == 2:
     38    sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
     39    sys.stderr = codecs.getwriter("utf-8")(sys.stderr)
    3540
    3641def configure_logging(verbose):
     
    5863    paths = []
    5964    html_dir = os.path.join('share', 'gtk-doc', 'html')
    60     for package, modules in dependent_packages.iteritems():
     65    for package, modules in dependent_packages.items():
    6166        prefix = common.prefix_of_pkg_config_file(package)
    6267        if prefix is None:
     
    110115        return None
    111116
    112     config = SafeConfigParser()
     117    config = ConfigParser()
    113118    config.read(config_file)
    114119    module_name = config.sections()[0]
  • trunk/Tools/gtkdoc/gtkdoc.py

    r238853 r242637  
    200200            if stdout:
    201201                try:
    202                     sys.stdout.write(stdout.encode("utf-8"))
     202                    if sys.version_info.major == 2:
     203                        sys.stdout.write(stdout.encode("utf-8"))
     204                    else:
     205                        sys.stdout.buffer.write(stdout.encode("utf-8"))
    203206                except UnicodeDecodeError:
    204207                    sys.stdout.write(stdout)
    205208            if stderr:
    206209                try:
    207                     sys.stderr.write(stderr.encode("utf-8"))
     210                    if sys.version_info.major == 2:
     211                        sys.stderr.write(stderr.encode("utf-8"))
     212                    else:
     213                        sys.stderr.buffer.write(stderr.encode("utf-8"))
    208214                except UnicodeDecodeError:
    209215                    sys.stderr.write(stderr)
Note: See TracChangeset for help on using the changeset viewer.