Cleanup dirmods, outmod, and pathmod
- Use argparse for parsing
- Correct copy/pasted documentation
- Misc small tweaks
Bug: 340648588
Test: manually
Change-Id: I11373bd25712b6880517efbb7aefabf70d29a771
diff --git a/bin/dirmods b/bin/dirmods
index d43506a..52d935a 100755
--- a/bin/dirmods
+++ b/bin/dirmods
@@ -14,25 +14,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+'''
+Lists all modules in the given directory or its decendant directories, as cached
+in module-info.json. If any build change is made, and it should be reflected in
+the output, you should run 'refreshmod' first.
+'''
+
import sys
sys.dont_write_bytecode = True
-import modinfo
-
+import argparse
import os
-# Get the path of a specific module in the android tree, as cached in module-info.json.
-# If any build change is made, and it should be reflected in the output, you should run
-# 'refreshmod' first. Note: This is the inverse of pathmod.
+import modinfo
-def main(argv):
- if len(argv) != 2:
- sys.stderr.write("usage: usage: dirmods <path>\n")
- sys.exit(1)
- d = argv[1]
- while d.endswith('/'):
- d = d[:-1]
+def main():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument('path')
+ args = parser.parse_args()
+
+ d = os.path.normpath(args.path)
prefix = d + '/'
module_info = modinfo.ReadModuleInfo()
@@ -49,4 +51,4 @@
print(name)
if __name__ == "__main__":
- main(sys.argv)
+ main()
diff --git a/bin/outmod b/bin/outmod
index 681b405..022ff36 100755
--- a/bin/outmod
+++ b/bin/outmod
@@ -14,26 +14,29 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Get the path of a specific module in the android tree, as cached in module-info.json.
-# If any build change is made, and it should be reflected in the output, you should run
-# 'refreshmod' first. Note: This is the inverse of dirmods.
+'''
+Lists the output files of a specific module in the android tree, as cached in
+module-info.json. If any build change is made, and it should be reflected in the
+output, you should run 'refreshmod' first.
+'''
import sys
sys.dont_write_bytecode = True
-import modinfo
-
+import argparse
import os
+import modinfo
-def main(argv):
- if len(argv) != 2:
- sys.stderr.write("usage: outmod <module>\n")
- sys.exit(1)
- for output in modinfo.GetModule(modinfo.ReadModuleInfo(), argv[1])['installed']:
- print(os.path.join(os.getenv("ANDROID_BUILD_TOP"), output))
+def main():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument('module')
+ args = parser.parse_args()
+
+ for output in modinfo.GetModule(modinfo.ReadModuleInfo(), args.module)['installed']:
+ print(os.path.join(os.getenv("ANDROID_BUILD_TOP", ""), output))
if __name__ == "__main__":
- main(sys.argv)
+ main()
diff --git a/bin/pathmod b/bin/pathmod
index f5560ba..70cf958 100755
--- a/bin/pathmod
+++ b/bin/pathmod
@@ -14,25 +14,28 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Get the path of a specific module in the android tree, as cached in module-info.json.
-# If any build change is made, and it should be reflected in the output, you should run
-# 'refreshmod' first. Note: This is the inverse of dirmods.
+'''
+Get the path of a specific module in the android tree, as cached in module-info.json.
+If any build change is made, and it should be reflected in the output, you should run
+'refreshmod' first. Note: This is the inverse of dirmods.
+'''
import sys
sys.dont_write_bytecode = True
-import modinfo
-
+import argparse
import os
+import modinfo
-def main(argv):
- if len(argv) != 2:
- sys.stderr.write("usage: pathmod <module>\n")
- sys.exit(1)
- path = modinfo.GetModule(modinfo.ReadModuleInfo(), argv[1])['path'][0]
+def main():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument('module')
+ args = parser.parse_args()
+
+ path = modinfo.GetModule(modinfo.ReadModuleInfo(), args.module)['path'][0]
print(os.path.join(os.getenv("ANDROID_BUILD_TOP", ""), path))
if __name__ == "__main__":
- main(sys.argv)
+ main()