17459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein#!/usr/bin/env python 27459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# 37459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# Copyright (C) 2017 The Android Open Source Project 47459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# 57459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# Licensed under the Apache License, Version 2.0 (the "License"); 67459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# you may not use this file except in compliance with the License. 77459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# You may obtain a copy of the License at 87459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# 97459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# http://www.apache.org/licenses/LICENSE-2.0 107459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# 117459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# Unless required by applicable law or agreed to in writing, software 127459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# distributed under the License is distributed on an "AS IS" BASIS, 137459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 147459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# See the License for the specific language governing permissions and 157459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# limitations under the License. 167459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein# 177459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein 187459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sappersteinimport sys 197459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein 207459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sappersteindef main(argv): 217459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein original_file = 'frameworks/base/data/fonts/fonts.xml' 227459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein 237459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein if len(argv) == 3: 247459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein output_file_path = argv[1] 257459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein override_file_path = argv[2] 267459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein else: 277459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein raise ValueError("Wrong number of arguments %s" % len(argv)) 287459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein 297459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein fallbackPlaceholderFound = False 307459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein with open(original_file, 'r') as input_file: 317459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein with open(output_file_path, 'w') as output_file: 327459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein for line in input_file: 337459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein # If we've found the spot to add additional fonts, add them. 347459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein if line.strip() == '<!-- fallback fonts -->': 357459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein fallbackPlaceholderFound = True 367459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein with open(override_file_path) as override_file: 377459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein for override_line in override_file: 387459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein output_file.write(override_line) 397459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein output_file.write(line) 407459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein if not fallbackPlaceholderFound: 417459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein raise ValueError('<!-- fallback fonts --> not found in source file: %s' % original_file) 427459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein 437459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sappersteinif __name__ == '__main__': 447459bc49b043e0770b6bda090b2b2e6a6326e2abAndrew Sapperstein main(sys.argv) 45