Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1804)

Unified Diff: Source/core/scripts/template_expander.py

Issue 15095002: Use jinja2 for make_runtime_features and make_internal_runtime_flags (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: Updated for Adam's comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/scripts/template_expander.py
diff --git a/Source/core/core.gyp/scripts/supplemental_idl_files.py b/Source/core/scripts/template_expander.py
similarity index 74%
copy from Source/core/core.gyp/scripts/supplemental_idl_files.py
copy to Source/core/scripts/template_expander.py
index eaf0270ac9f6a46637b6196233f09793d855e4b8..14917fe3817f3e40a8180195b058bbd003217ca5 100644
--- a/Source/core/core.gyp/scripts/supplemental_idl_files.py
+++ b/Source/core/scripts/template_expander.py
@@ -1,5 +1,3 @@
-#!/usr/bin/python
-#
# Copyright (C) 2013 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,18 +26,18 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-"""This file returns a list of all the IDL files that contain a partial interface."""
-
-import re
+import os
import sys
-partial_interface_regex = re.compile(r'partial\s+interface\s+(\w+).+\]', re.M | re.S)
+_current_dir = os.path.dirname(os.path.realpath(__file__))
+# jinja2 is in chromium's third_party directory
+sys.path.append(os.path.join(_current_dir, *([os.pardir] * 4)))
+
-def DoMain(filenames):
- partial_files = set()
- for filename in filenames:
- with open(filename) as f:
- match = re.search(partial_interface_regex, f.read())
- if match:
- partial_files.add(filename)
- return '\n'.join(partial_files)
+def apply_template(path_to_template, params):
+ import jinja2
eseidel 2013/05/13 06:38:33 Why is this import in the function?
+ dirname, basename = os.path.split(path_to_template)
+ path_to_templates = os.path.join(_current_dir, "templates")
+ env = jinja2.Environment(loader=jinja2.FileSystemLoader([dirname, path_to_templates]))
eseidel 2013/05/13 06:38:33 I would call this jinja_env or something so as not
+ template = env.get_template(basename)
+ return template.render(params)

Powered by Google App Engine
This is Rietveld 408576698