diff options
author | Joe Onorato <joeo@google.com> | 2011-06-08 16:04:14 -0700 |
---|---|---|
committer | Joe Onorato <joeo@google.com> | 2011-06-08 16:04:14 -0700 |
commit | 9197a487b4a30bcbc6ef41471ca5aa03440dca1f (patch) | |
tree | 113b1bf492e4f82764de42bbb5ac038441c1a5ef /tools/post_process_props.py | |
parent | 679432ab1ba1ab0b075e99dfa1f92bbf1f60635e (diff) | |
download | build-9197a487b4a30bcbc6ef41471ca5aa03440dca1f.zip build-9197a487b4a30bcbc6ef41471ca5aa03440dca1f.tar.gz build-9197a487b4a30bcbc6ef41471ca5aa03440dca1f.tar.bz2 |
post process the system properties
Change-Id: Ib78fe238d90dd4523326e4fa088d9333edc9e299
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) |