mirror of
https://github.com/placeAtlas/atlas.git
synced 2024-09-27 12:39:18 +02:00
Sort image keys and extend to whiteout in formatter
This commit is contained in:
parent
82d7c9d06e
commit
72829f392b
1 changed files with 41 additions and 6 deletions
|
@ -3,6 +3,7 @@
|
||||||
import re
|
import re
|
||||||
import json
|
import json
|
||||||
import traceback
|
import traceback
|
||||||
|
from typing import List
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Examples:
|
Examples:
|
||||||
|
@ -262,6 +263,36 @@ def remove_empty_and_similar(entry: dict):
|
||||||
|
|
||||||
return entry
|
return entry
|
||||||
|
|
||||||
|
def sort_image_keys(entry: dict):
|
||||||
|
"""
|
||||||
|
Alphabetizes comma-separated path and center keys.
|
||||||
|
"""
|
||||||
|
for outer_key in ["path", "center"]:
|
||||||
|
image_keys: List[str] = list(entry[outer_key].keys())
|
||||||
|
for image_key in image_keys:
|
||||||
|
key_split = image_key.split(", ")
|
||||||
|
new_key = ", ".join(sorted(key_split))
|
||||||
|
if new_key != image_key:
|
||||||
|
entry[outer_key][new_key] = entry[outer_key][image_key]
|
||||||
|
del(entry[outer_key][image_key])
|
||||||
|
|
||||||
|
return entry
|
||||||
|
|
||||||
|
def extend_entries_to_whiteout(entry: dict):
|
||||||
|
"""
|
||||||
|
If an entry ends on the final non-whiteout image, extends the image to the last whiteout image where entries cans still be made out.
|
||||||
|
"""
|
||||||
|
END_NORMAL_IMAGE = "164"
|
||||||
|
END_WHITEOUT_IMAGE = "166"
|
||||||
|
for outer_key in ["path", "center"]:
|
||||||
|
image_keys: List[str] = list(entry[outer_key].keys())
|
||||||
|
for image_key in image_keys:
|
||||||
|
if END_NORMAL_IMAGE in image_key:
|
||||||
|
new_key = image_key.replace(END_NORMAL_IMAGE, END_WHITEOUT_IMAGE)
|
||||||
|
entry[outer_key][new_key] = entry[outer_key][image_key]
|
||||||
|
del(entry[outer_key][image_key])
|
||||||
|
|
||||||
|
return entry
|
||||||
|
|
||||||
def validate(entry: dict):
|
def validate(entry: dict):
|
||||||
"""
|
"""
|
||||||
|
@ -344,6 +375,10 @@ def print_(*args, **kwargs):
|
||||||
entry = remove_duplicate_points(entry)
|
entry = remove_duplicate_points(entry)
|
||||||
print_("Remove empty items...")
|
print_("Remove empty items...")
|
||||||
entry = remove_empty_and_similar(entry)
|
entry = remove_empty_and_similar(entry)
|
||||||
|
print_("Sorting image keys...")
|
||||||
|
entry = sort_image_keys(entry)
|
||||||
|
print_("Extending entries to whiteout...")
|
||||||
|
entry = extend_entries_to_whiteout(entry)
|
||||||
print_("Validating...")
|
print_("Validating...")
|
||||||
status_code = validate(entry)
|
status_code = validate(entry)
|
||||||
print_("Completed!")
|
print_("Completed!")
|
||||||
|
|
Loading…
Reference in a new issue