1#!/usr/bin/env python 2# 3# Copyright (C) 2019 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17""" 18Helper script to generate tedious strings.xml permutations 19""" 20 21from string import Template 22 23verbs = ["write","trash","untrash","delete"] 24datas = [("audio","audio file"),("video","video"),("image","photo"),("generic","item")] 25 26print ''' 27<!-- ========================= BEGIN AUTO-GENERATED BY gen_strings.py ========================= -->''' 28 29for verb in verbs: 30 verblabel = verb 31 if verb == "write": 32 verblabel = "modify" 33 34 print ''' 35<!-- ========================= %s STRINGS ========================= --> 36''' % (verb.upper()) 37 for data, datalabel in datas: 38 if verb == "trash": 39 print Template(''' 40<!-- Dialog title asking if user will allow $verb permission to the $data item displayed below this string. [CHAR LIMIT=128] --> 41<string name="permission_${verb}_${data}"> {count, plural, 42 =1 {Allow <xliff:g id="app_name" example="Gmail">^1</xliff:g> to move this $datalabel to trash?} 43 other {Allow <xliff:g id="app_name" example="Gmail">^1</xliff:g> to move <xliff:g id="count" example="42">^2</xliff:g> ${datalabel}s to trash?} 44}</string> 45''').substitute(vars()).strip("\n") 46 print Template(''' 47<!-- Progress dialog message after user allows $verb permission to the $data item [CHAR LIMIT=128] --> 48<string name="permission_progress_${verb}_${data}"> {count, plural, 49 =1 {Moving $datalabel to trash…} 50 other {Moving <xliff:g id="count" example="42">^1</xliff:g> ${datalabel}s to trash…} 51}</string> 52''').substitute(vars()).strip("\n") 53 54 elif verb == "untrash": 55 print Template(''' 56<!-- Dialog title asking if user will allow $verb permission to the $data item displayed below this string. [CHAR LIMIT=128] --> 57<string name="permission_${verb}_${data}"> {count, plural, 58 =1 {Allow <xliff:g id="app_name" example="Gmail">^1</xliff:g> to move this $datalabel out of trash?} 59 other {Allow <xliff:g id="app_name" example="Gmail">^1</xliff:g> to move <xliff:g id="count" example="42">^2</xliff:g> ${datalabel}s out of trash?} 60}</string> 61''').substitute(vars()).strip("\n") 62 print Template(''' 63<!-- Progress dialog message after user allows $verb permission to the $data item [CHAR LIMIT=128] --> 64<string name="permission_progress_${verb}_${data}"> {count, plural, 65 =1 {Moving $datalabel out of trash…} 66 other {Moving <xliff:g id="count" example="42">^1</xliff:g> ${datalabel}s out of trash…} 67}</string> 68''').substitute(vars()).strip("\n") 69 70 else: 71 print Template(''' 72<!-- Dialog title asking if user will allow $verb permission to the $data item displayed below this string. [CHAR LIMIT=128] --> 73<string name="permission_${verb}_${data}"> {count, plural, 74 =1 {Allow <xliff:g id="app_name" example="Gmail">^1</xliff:g> to $verblabel this $datalabel?} 75 other {Allow <xliff:g id="app_name" example="Gmail">^1</xliff:g> to $verblabel <xliff:g id="count" example="42">^2</xliff:g> ${datalabel}s?} 76}</string> 77''').substitute(vars()).strip("\n") 78 if verb == "write": 79 actionLabel = "Modifying" 80 else: 81 actionLabel = "Deleting" 82 print Template(''' 83<!-- Progress dialog message after user allows $verb permission to the $data item [CHAR LIMIT=128] --> 84<string name="permission_progress_${verb}_${data}"> {count, plural, 85 =1 {$actionLabel $datalabel…} 86 other {$actionLabel <xliff:g id="count" example="42">^1</xliff:g> ${datalabel}s…} 87}</string> 88''').substitute(vars()).strip("\n") 89 90print ''' 91<!-- ========================= END AUTO-GENERATED BY gen_strings.py ========================= --> 92''' 93