#!/usr/bin/env python3 """Step 0 of every rtl-ip-replace run (MANDATORY, user directive 2026-07-23): move ALL existing content of the fixed output dir into backup_/, so the run always generates everything fresh while keeping full history. Usage: python backup_outdir.py Existing backup_* subdirectories are kept in place (not re-nested). """ import os, shutil, sys, time def main(): if len(sys.argv) != 2: sys.exit('usage: backup_outdir.py ') d = os.path.abspath(sys.argv[1]) os.makedirs(d, exist_ok=True) items = [x for x in os.listdir(d) if not x.startswith('backup_')] if not items: print('nothing to back up in', d) return bdir = os.path.join(d, 'backup_' + time.strftime('%Y%m%d_%H%M%S')) os.makedirs(bdir) for x in items: shutil.move(os.path.join(d, x), os.path.join(bdir, x)) print(f'backed up {len(items)} item(s) -> {bdir}') if __name__ == '__main__': main()