diff options
author | Joe Onorato <joeo@google.com> | 2011-06-08 16:04:45 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-06-08 16:04:45 -0700 |
commit | 569e4fab496588ce5b4913424540c8477afba318 (patch) | |
tree | 0d48b73e57658053874a462d99fd583ca9ac2d5b /tools/post_process_props.py | |
parent | 23687596a14519d716719389142673cef4faeeae (diff) | |
parent | 9197a487b4a30bcbc6ef41471ca5aa03440dca1f (diff) | |
download | build-569e4fab496588ce5b4913424540c8477afba318.zip build-569e4fab496588ce5b4913424540c8477afba318.tar.gz build-569e4fab496588ce5b4913424540c8477afba318.tar.bz2 |
Merge "post process the system properties"
Diffstat (limited to 'tools/post_process_props.py')
-rwxr-xr-x | tools/post_process_props.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/tools/post_process_props.py b/tools/post_process_props.py new file mode 100755 index 0000000..83e1431 --- /dev/null +++ b/tools/post_process_props.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python +# +# Copyright (C) 2009 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys + +# Put the modifications that you need to make into the /system/build.prop into this +# function. The prop object has get(name) and put(name,value) methods. +def mangle_build_prop(prop): + pass + + +# Put the modifications that you need to make into the /system/build.prop into this +# function. The prop object has get(name) and put(name,value) methods. +def mangle_default_prop(prop): + # If ro.debuggable is 1, then enable adb on USB by default + # (this is for userdebug builds) + if prop.get("ro.debuggable") == "1": + val = prop.get("persist.sys.usb.config") + if val == "": + val = "adb" + else: + val = val + ",adb" + prop.put("persist.sys.usb.config", val) + + +class PropFile: + def __init__(self, lines): + self.lines = [s[:-1] for s in lines] + + def get(self, name): + key = name + "=" + for line in self.lines: + if line.startswith(key): + return line[len(key):] + return "" + + def put(self, name, value): + key = name + "=" + for i in range(0,len(self.lines)): + if self.lines[i].startswith(key): + self.lines[i] = key + value + return + self.lines.append(key + value) + + def write(self, f): + f.write("\n".join(self.lines)) + f.write("\n") + +def main(argv): + filename = argv[1] + f = open(filename) + lines = f.readlines() + f.close() + + properties = PropFile(lines) + if filename.endswith("/build.prop"): + mangle_build_prop(properties) + elif filename.endswith("/default.prop"): + mangle_default_prop(properties) + else: + sys.stderr.write("bad command line: " + str(argv) + "\n") + sys.exit(1) + + f = open(filename) + #properties.write(f) + properties.write(sys.stdout) + f.close() + +if __name__ == "__main__": + main(sys.argv) |