ok
This commit is contained in:
52
scripts/flatten_refs.py
Normal file
52
scripts/flatten_refs.py
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
import os
|
||||
import shutil
|
||||
|
||||
TARGET = "assets/slike/glavna_referenca"
|
||||
|
||||
def flatten():
|
||||
print(f"🚀 FLATTENING {TARGET} (Removing subfolders)...")
|
||||
|
||||
if not os.path.exists(TARGET):
|
||||
print("❌ Target folder not found.")
|
||||
return
|
||||
|
||||
moved_count = 0
|
||||
|
||||
# Walk bottom-up to handle sub-sub folders if any
|
||||
for root, dirs, files in os.walk(TARGET, topdown=False):
|
||||
if root == TARGET:
|
||||
continue
|
||||
|
||||
for file in files:
|
||||
src = os.path.join(root, file)
|
||||
dst = os.path.join(TARGET, file)
|
||||
|
||||
# Handle collisions
|
||||
if os.path.exists(dst):
|
||||
base, ext = os.path.splitext(file)
|
||||
counter = 1
|
||||
while os.path.exists(os.path.join(TARGET, f"{base}_{counter}{ext}")):
|
||||
counter += 1
|
||||
dst = os.path.join(TARGET, f"{base}_{counter}{ext}")
|
||||
|
||||
try:
|
||||
shutil.move(src, dst)
|
||||
moved_count += 1
|
||||
except Exception as e:
|
||||
print(f"Error moving {file}: {e}")
|
||||
|
||||
# Remove empty dir
|
||||
try:
|
||||
os.rmdir(root)
|
||||
print(f"🗑️ Removed empty folder: {os.path.relpath(root, TARGET)}")
|
||||
except OSError:
|
||||
# Folder might not be empty if hidden files exist
|
||||
pass
|
||||
|
||||
print("="*40)
|
||||
print(f"✅ FLATTEN COMPLETE. Moved {moved_count} images to root.")
|
||||
print("="*40)
|
||||
|
||||
if __name__ == "__main__":
|
||||
flatten()
|
||||
Reference in New Issue
Block a user