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

Unified Diff: tools/polymer/txt_to_polymer_grdp.py

Issue 984553002: Added helper scripts for modifying polymer_resources.grdp. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased again. Created 5 years, 6 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
« no previous file with comments | « tools/polymer/polymer_grdp_to_txt.py ('k') | ui/webui/resources/polymer_resources.grdp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/polymer/txt_to_polymer_grdp.py
diff --git a/tools/polymer/txt_to_polymer_grdp.py b/tools/polymer/txt_to_polymer_grdp.py
new file mode 100755
index 0000000000000000000000000000000000000000..4ad08c51604837142229b9fdcee59006749bb601
--- /dev/null
+++ b/tools/polymer/txt_to_polymer_grdp.py
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from __future__ import with_statement
+import string
+import sys
+
+
+FILE_TEMPLATE = \
+"""<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is generated.
+ Please use 'src/tools/polymer/polymer_grdp_to_txt.py' and
+ 'src/tools/polymer/txt_to_polymer_grdp.py' to modify it, if possible.
+
+ 'polymer_grdp_to_txt.py' converts 'polymer_resources.grdp' to a plane list of
+ used Polymer components. v1.0 elements are marked with 'v1.0 ' prefix:
+ ...
+ core-animation/core-animation.html
+ core-animation/web-animations.html
+ core-collapse/core-collapse-extracted.js
+ core-collapse/core-collapse.css
+ core-collapse/core-collapse.html
+ core-dropdown/core-dropdown-base-extracted.js
+ ...
+ v1.0 iron-iron-iconset/iron-iconset-extracted.js
+ v1.0 iron-iron-iconset/iron-iconset.html
+ ...
+
+ 'txt_to_polymer_grdp.py' converts list back to GRDP file.
+
+ Usage:
+ $ polymer_grdp_to_txt.py polymer_resources.grdp > /tmp/list.txt
+ $ vim /tmp/list.txt
+ $ txt_to_polymer_grdp.py /tmp/list.txt > polymer_resources.grdp
+-->
+<grit-part>
+ <!-- Polymer 0.5 (TODO: Remove by M45 branch point) -->
+%(v_0_5)s
+ <structure name="IDR_POLYMER_WEB_ANIMATIONS_JS_WEB_ANIMATIONS_NEXT_LITE_MIN_JS"
+ file="../../../third_party/web-animations-js/sources/web-animations-next-lite.min.js"
+ type="chrome_html" />
+ <structure name="IDR_POLYMER_WEB_ANIMATIONS_JS_WEB_ANIMATIONS_NEXT_LITE_MIN_JS_MAP"
+ file="../../../third_party/web-animations-js/sources/web-animations-next-lite.min.js.map"
Dan Beam 2015/06/16 00:09:18 the presubmit is not fond of your examples... perh
dzhioev (left Google) 2015/06/16 00:18:16 Unfortunately this is not an example, but a part o
Dan Beam 2015/06/16 00:19:40 ah, either do some string splitting magic or NOPRE
+ type="chrome_html" />
+
+ <!-- Polymer 1.0 -->
+%(v_1_0)s
+</grit-part>
+"""
+
+
+DEFINITION_TEMPLATE_0_5 = \
+""" <structure name="%s"
+ file="../../../third_party/polymer/components-chromium/%s"
+ type="chrome_html" />"""
+
+DEFINITION_TEMPLATE_1_0 = \
+""" <structure name="%s"
+ file="../../../third_party/polymer/v1_0/components-chromium/%s"
+ type="chrome_html" />"""
+
+
+def PathToGritId(path, is_1_0):
+ table = string.maketrans(string.lowercase + '/.-', string.uppercase + '___')
+ return 'IDR_POLYMER_' + ('1_0_' if is_1_0 else '') + path.translate(table)
+
+def SortKey(record):
+ return (record[1], PathToGritId(record[0], record[1]))
+
+
+def ParseRecord(record):
+ record = record.strip()
+ v_1_0_prefix = 'v1.0 '
+ if record.startswith(v_1_0_prefix):
+ return (record[len(v_1_0_prefix):], True)
+ else:
+ return (record, False)
+
+def main(argv):
+ with open(argv[1]) as f:
+ records = [ParseRecord(r) for r in f if not r.isspace()]
+ lines = { 'v_0_5': [], 'v_1_0': [] }
+ for (path, is_1_0) in sorted(set(records), key=SortKey):
+ template = DEFINITION_TEMPLATE_1_0 if is_1_0 else DEFINITION_TEMPLATE_0_5
+ lines['v_1_0' if is_1_0 else 'v_0_5'].append(
+ template % (PathToGritId(path, is_1_0), path))
+ print FILE_TEMPLATE % { 'v_0_5': '\n'.join(lines['v_0_5']),
+ 'v_1_0': '\n'.join(lines['v_1_0']) }
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
« no previous file with comments | « tools/polymer/polymer_grdp_to_txt.py ('k') | ui/webui/resources/polymer_resources.grdp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698