Skip to content

Commit

Permalink
Merge pull request placeAtlas#1448 from placeAtlas/cleanup
Browse files Browse the repository at this point in the history
Cleanup sync
  • Loading branch information
Codixer authored Jun 25, 2023
2 parents 02e6942 + 6ae81f9 commit 0e295fe
Show file tree
Hide file tree
Showing 4 changed files with 293 additions and 245 deletions.
120 changes: 67 additions & 53 deletions tools/merge_out.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import json
import os
from aformatter import format_all_entries, per_line_entries
import scale_back
import traceback

import scale_back
from scale_back import ScaleConfig

out_ids = []
Expand All @@ -19,17 +18,6 @@
with open('../web/atlas.json', 'r', encoding='utf-8') as atlas_file:
atlas_data = json.loads(atlas_file.read())

# format_all_entries(atlas_data)

# base_image_path = os.path.join('..', 'web', '_img', 'canvas', 'place30')
# ScaleConfig.image1 = os.path.join(base_image_path, '159.png')
# scale_back.swap_source_dest('164', '165', os.path.join(base_image_path, '163_159.png'))
# scale_back.scale_back_entries(atlas_data)
# scale_back.swap_source_dest('165', '166', os.path.join(base_image_path, '164_159.png'))
# scale_back.scale_back_entries(atlas_data)
# scale_back.swap_source_dest('166', '167', os.path.join(base_image_path, '165_159.png'))
# scale_back.scale_back_entries(atlas_data)

last_id = 0

for i, entry in enumerate(atlas_data):
Expand All @@ -39,12 +27,23 @@
last_id = int(id)

patches_dir = "../data/patches/"
permanent_patch_file = "temp-atlas.json"
if not os.path.exists(patches_dir):
print("Patches folder not found. Exiting.")
exit()

for filename in os.listdir(patches_dir):
f = os.path.join(patches_dir, filename)
base_image_path = os.path.join('..', 'web', '_img', 'canvas', 'place30')
ScaleConfig.image1 = os.path.join(base_image_path, '159.png')

filenames = os.listdir(patches_dir)
filenames.append(permanent_patch_file)

for filename in filenames:
is_permanent_file = filename == permanent_patch_file
if is_permanent_file:
f = filename
else:
f = os.path.join(patches_dir, filename)

print(f"{filename}: Processing...")

Expand All @@ -53,44 +52,59 @@

try:
with open(f, 'r', encoding='utf-8') as entry_file:
entry = json.loads(entry_file.read())

if '_reddit_id' in entry:
reddit_id = entry['_reddit_id']
if reddit_id in out_ids:
print(f"{filename}: Submission from {entry['id']} has been included! This will be ignored from the merge.")
continue
out_ids.append(reddit_id)
del entry['_reddit_id']

# This wouldn't work if it is an edit.
# If needed, we can add a type to the patch to be more foolproof.
# if entry['id'] in out_ids:
# print(f"{filename}: Submission from {entry['id']} has been included! This will be ignored from the merge.")
# continue

if '_author' in entry:
author = entry['_author']
if author not in authors:
authors.append(author)
del entry['_author']

if entry['id'] is int and entry['id'] < 1:
last_id += 1
print(f"{filename}: Entry is new, assigned ID {last_id}")
entry['id'] = str(last_id)
elif entry['id'] not in out_ids:
out_ids.append(entry['id'])

if entry['id'] in atlas_ids:
index = atlas_ids[entry['id']]
print(f"{filename}: Edited {atlas_data[index]['id']}.")
atlas_data[index] = entry
else:
print(f"{filename}: Added {entry['id']}.")
atlas_data.append(entry)

os.remove(f)
entries = json.loads(entry_file.read())
if not isinstance(entries, list):
entries = [entries]

format_all_entries(entries)

scale_back.swap_source_dest('164', '165', os.path.join(base_image_path, '163_159.png'))
scale_back.scale_back_entries(entries)
scale_back.swap_source_dest('165', '166', os.path.join(base_image_path, '164_159.png'))
scale_back.scale_back_entries(entries)
scale_back.swap_source_dest('166', '167', os.path.join(base_image_path, '165_159.png'))
scale_back.scale_back_entries(entries)

for entry in entries:
if '_reddit_id' in entry:
reddit_id = entry['_reddit_id']
if reddit_id in out_ids:
print(f"{filename}: Submission from {entry['id']} has been included! This will be ignored from the merge.")
continue
out_ids.append(reddit_id)
del entry['_reddit_id']

# This wouldn't work if it is an edit.
# If needed, we can add a type to the patch to be more foolproof.
# if entry['id'] in out_ids:
# print(f"{filename}: Submission from {entry['id']} has been included! This will be ignored from the merge.")
# continue

if '_author' in entry:
author = entry['_author']
if author not in authors:
authors.append(author)
del entry['_author']

if isinstance(entry['id'], int) and entry['id'] < 1 or entry['id'] == '0':
last_id += 1
print(f"{filename}: Entry is new, assigned ID {last_id}")
entry['id'] = str(last_id)
elif isinstance(entry['id'], int):
entry['id'] = str(entry['id'])
elif not is_permanent_file and entry['id'] not in out_ids:
out_ids.append(entry['id'])

if entry['id'] in atlas_ids:
index = atlas_ids[entry['id']]
print(f"{filename}: Edited {atlas_data[index]['id']}.")
atlas_data[index] = entry
else:
print(f"{filename}: Added {entry['id']}.")
atlas_data.append(entry)

if not is_permanent_file:
os.remove(f)

except:
print(f"{filename}: Something went wrong; patch couldn't be implemented. Skipping.")
Expand Down
2 changes: 1 addition & 1 deletion web/_js/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ window.defaultVariation = defaultVariation
let defaultPeriod = variationsConfig[defaultVariation].default
window.defaultPeriod = defaultPeriod

const useNumericalId = true
const useNumericalId = false
window.useNumericalId = useNumericalId

console.info(`%cThe 2022 r/place Atlas
Expand Down
1 change: 1 addition & 0 deletions web/all-authors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5559,3 +5559,4 @@ waddleguin
GDJosef
eri531
-Yox-
gh:Slymeball
Loading

0 comments on commit 0e295fe

Please sign in to comment.