in scripts/icon-builder.py [0:0]
def main():
if args["create_config_template"]:
create_config_template()
verify_environment()
# clear out dist/ directory
clean_dist()
# Copy source/*.puml files to dist/
copy_puml()
# Build icons from files
icons = []
for dir in dir_list:
for filename in build_file_list(dir["dir"], dir["dir_glob"]):
icons.append(
Icon(
posix_filename=filename,
config=config,
category_regex=dir["category_regex"],
filename_regex=dir["filename_regex"],
category_mappings=dir["category_mappings"],
filename_mappings=dir["filename_mappings"],
)
)
for icon in icons:
if icon.category == "Uncategorized":
print(icon.source_name)
# Create category directories
categories = sorted(set([icon.category for icon in icons]))
for i in categories:
Path(f"../dist/{i}").mkdir(exist_ok=True)
# Create PlantUML sprites
pool = Pool(processes=multiprocessing.cpu_count())
for i in icons:
pool.apply_async(worker, args=(i,))
pool.close()
pool.join()
# Generate "all.puml" files for each category
for i in categories:
create_category_all_file(Path(f"../dist/{i}"))
# Create markdown sheet and place in dist
sorted_icons = sorted(icons, key=lambda x: (x.category, x.target))
markdown = MARKDOWN_PREFIX_TEMPLATE
for i in categories:
category = i
markdown += f"**{category}** | | | **{category}/all.puml**\n"
for j in sorted_icons:
if j.category == i:
cat = j.category
tgt = j.target
markdown += (
f"{cat} | {tgt} |  |"
f"{cat}/{tgt}.puml\n"
)
with open(Path("../AWSSymbols.md"), "w") as f:
f.write(markdown)