Files
2026-06-23 11:27:54 +08:00

61 lines
1.9 KiB
Python

#!/usr/bin/python3
# Copyright (c) 2025 Broadcom. All Rights Reserved.
# The term "Broadcom" refers to Broadcom Inc.
# and/or its subsidiaries.
#
# Java property file support is provided because for VC 9.0 the file:
# /usr/lib/vmware-sso/vmware-sts/conf/server.xml
# Indicated in lib/constants.py by:
# STS_SERVER_CONFIG_FILE_PATH
# has been changed to the Java property file:
# /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties
# Indicated in lib/constants.py by:
# STS_SERVER_CONFIG_PROPERTY_FILE_PATH
def load_property_file(file=None):
"""
Load Java property list file.
"""
properties = {}
with open(file) as f:
for line in f:
line = line.strip()
if line.startswith('#') or '=' not in line:
continue
keypath, value = line.split('=', 1)
# The following commented out code loads the property file using
# nested dictionaries, following the hierarchy defined by the
# dotted key path. However, current usage doesn't require that, so
# for now we simply load the file as a simple dictionary to
# simplify key lookups with the current code.
#
# keys = keypath.split('.')
# keyDict = properties
# for key in keys[:-1]:
# if key not in keyDict:
# keyDict[key] = {}
# keyDict = keyDict[key]
# keyDict[keys[-1]] = value
properties[keypath] = value
return properties
if __name__ == '__main__':
# Simple command-level driver for testing Java property file parsing.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'--file',
help='Java property file',
required=True
)
options = parser.parse_args()
properties = load_property_file(file=options.file)
for key, value in properties.items():
print("%s: %s" % (key, value))