in tensorflow_examples/lite/model_maker/core/api/api_util.py [0:0]
def write_packages(
base_dir: str,
imports: Dict[str, Sequence[str]],
doc_dict: Dict[str, str],
base_package: str,
version: str,
deprecated_imports: Optional[Dict[str, Sequence[str]]] = None) -> None:
"""Writes packages as init files.
Args:
base_dir: str, base directory to write packages.
imports: dict, pairs of (namespace, list of imports).
doc_dict: dict, pairs of (namespace, package_doc).
base_package: str, the base package name. (e.g. 'tflite_model_maker')
version: str, version string. (e.g., 0.x.x).
deprecated_imports: optinal dict, pairs of (namespace, list of imports).
"""
if not deprecated_imports:
deprecated_imports = {}
for package_name, import_lines in imports.items():
# Create parent dir.
parts = as_path(split_name(package_name))
parent_dir = os.path.join(base_dir, parts)
make_dirs_or_not(parent_dir)
# Write header and import lines.
full_path = os.path.join(parent_dir, '__init__.py')
lines = [
line.replace(PACKAGE_PLACEHOLDER, base_package) for line in import_lines
]
# Add deprecated imports for backward compatiblity..
if package_name in deprecated_imports:
lines.append(deprecated_imports[package_name])
# For base package add __version__.
if package_name == ROOT_PACKAGE_KEY:
lines.append(_version_line(version))
full_package_name = as_package(
split_name(base_package) + split_name(package_name))
# Add package doc.
if package_name in doc_dict:
doc = '"""{}"""'.format(doc_dict[package_name])
else:
doc = generate_package_doc(full_package_name)
write_python_file(full_path, doc, lines)