Commit cb77f7e4 authored by Gary Tong's avatar Gary Tong Committed by Commit Bot

Updating //ui/ozone actions to be compatible with python3

Bug: 1144980
Change-Id: I892abaaf83429269c325b4bf27d836fe29f49f51
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2517990Reviewed-by: default avatarRobert Kroeger <rjkroege@chromium.org>
Reviewed-by: default avatarDirk Pranke <dpranke@google.com>
Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Reviewed-by: default avatarMichael Spang <spang@chromium.org>
Commit-Queue: Gary Tong <gatong@chromium.org>
Cr-Commit-Position: refs/heads/master@{#824570}
parent 372d0df7
...@@ -283,8 +283,7 @@ static_library("test_support") { ...@@ -283,8 +283,7 @@ static_library("test_support") {
public_deps = [ ":test_support_internal" ] public_deps = [ ":test_support_internal" ]
} }
# TODO(crbug.com/1112471): Get this to run cleanly under Python 3. action("generate_ozone_platform_list") {
python2_action("generate_ozone_platform_list") {
script = "generate_ozone_platform_list.py" script = "generate_ozone_platform_list.py"
outputs = [ outputs = [
platform_list_cc_file, platform_list_cc_file,
...@@ -303,8 +302,7 @@ python2_action("generate_ozone_platform_list") { ...@@ -303,8 +302,7 @@ python2_action("generate_ozone_platform_list") {
visibility += [ "//media:*" ] visibility += [ "//media:*" ]
} }
# TODO(crbug.com/1112471): Get this to run cleanly under Python 3. action("generate_constructor_list") {
python2_action("generate_constructor_list") {
script = "generate_constructor_list.py" script = "generate_constructor_list.py"
inputs = [ platform_list_txt_file ] inputs = [ platform_list_txt_file ]
...@@ -324,8 +322,7 @@ python2_action("generate_constructor_list") { ...@@ -324,8 +322,7 @@ python2_action("generate_constructor_list") {
deps = [ ":generate_ozone_platform_list" ] deps = [ ":generate_ozone_platform_list" ]
} }
# TODO(crbug.com/1112471): Get this to run cleanly under Python 3. action("generate_test_support_constructor_list") {
python2_action("generate_test_support_constructor_list") {
script = "generate_constructor_list.py" script = "generate_constructor_list.py"
inputs = [ platform_list_txt_file ] inputs = [ platform_list_txt_file ]
......
...@@ -45,12 +45,15 @@ Example Output: ./ui/ozone/generate_constructor_list.py \ ...@@ -45,12 +45,15 @@ Example Output: ./ui/ozone/generate_constructor_list.py \
} // namespace ui } // namespace ui
""" """
try:
from StringIO import StringIO # for Python 2
except ImportError:
from io import StringIO # for Python 3
import optparse import optparse
import os import os
import collections import collections
import re import re
import sys import sys
import string
def GetTypedefName(typename): def GetTypedefName(typename):
...@@ -68,7 +71,7 @@ def GetConstructorName(typename, platform): ...@@ -68,7 +71,7 @@ def GetConstructorName(typename, platform):
This is just "Create" + typename + platform. This is just "Create" + typename + platform.
""" """
return 'Create' + typename + string.capitalize(platform) return 'Create' + typename + platform.capitalize()
def GenerateConstructorList(out, namespace, export, typenames, platforms, def GenerateConstructorList(out, namespace, export, typenames, platforms,
...@@ -163,12 +166,14 @@ def main(argv): ...@@ -163,12 +166,14 @@ def main(argv):
sys.exit(1) sys.exit(1)
# Write to standard output or file specified by --output_cc. # Write to standard output or file specified by --output_cc.
out_cc = sys.stdout out_cc = getattr(sys.stdout, 'buffer', sys.stdout)
if options.output_cc: if options.output_cc:
out_cc = open(options.output_cc, 'wb') out_cc = open(options.output_cc, 'wb')
GenerateConstructorList(out_cc, options.namespace, options.export, out_cc_str = StringIO()
GenerateConstructorList(out_cc_str, options.namespace, options.export,
typenames, platforms, includes, usings) typenames, platforms, includes, usings)
out_cc.write(out_cc_str.getvalue().encode('utf-8'))
if options.output_cc: if options.output_cc:
out_cc.close() out_cc.close()
......
...@@ -49,12 +49,15 @@ Example Output: ./generate_ozone_platform_list.py --default wayland dri wayland ...@@ -49,12 +49,15 @@ Example Output: ./generate_ozone_platform_list.py --default wayland dri wayland
""" """
try:
from StringIO import StringIO # for Python 2
except ImportError:
from io import StringIO # for Python 3
import optparse import optparse
import os import os
import collections import collections
import re import re
import sys import sys
import string
def GetConstantName(name): def GetConstantName(name):
...@@ -63,7 +66,7 @@ def GetConstantName(name): ...@@ -63,7 +66,7 @@ def GetConstantName(name):
We just capitalize the platform name and prepend "CreateOzonePlatform". We just capitalize the platform name and prepend "CreateOzonePlatform".
""" """
return 'kPlatform' + string.capitalize(name) return 'kPlatform' + name.capitalize()
def GeneratePlatformListText(out, platforms): def GeneratePlatformListText(out, platforms):
...@@ -149,9 +152,9 @@ def main(argv): ...@@ -149,9 +152,9 @@ def main(argv):
platforms.insert(0, options.default) platforms.insert(0, options.default)
# Write to standard output or file specified by --output_{cc,h}. # Write to standard output or file specified by --output_{cc,h}.
out_cc = sys.stdout out_cc = getattr(sys.stdout, 'buffer', sys.stdout)
out_h = sys.stdout out_h = getattr(sys.stdout, 'buffer', sys.stdout)
out_txt = sys.stdout out_txt = getattr(sys.stdout, 'buffer', sys.stdout)
if options.output_cc: if options.output_cc:
out_cc = open(options.output_cc, 'wb') out_cc = open(options.output_cc, 'wb')
if options.output_h: if options.output_h:
...@@ -159,9 +162,16 @@ def main(argv): ...@@ -159,9 +162,16 @@ def main(argv):
if options.output_txt: if options.output_txt:
out_txt = open(options.output_txt, 'wb') out_txt = open(options.output_txt, 'wb')
GeneratePlatformListText(out_txt, platforms) out_txt_str = StringIO()
GeneratePlatformListHeader(out_h, platforms) out_h_str = StringIO()
GeneratePlatformListSource(out_cc, platforms) out_cc_str = StringIO()
GeneratePlatformListText(out_txt_str, platforms)
out_txt.write(out_txt_str.getvalue().encode('utf-8'))
GeneratePlatformListHeader(out_h_str, platforms)
out_h.write(out_h_str.getvalue().encode('utf-8'))
GeneratePlatformListSource(out_cc_str, platforms)
out_cc.write(out_cc_str.getvalue().encode('utf-8'))
if options.output_cc: if options.output_cc:
out_cc.close() out_cc.close()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment