import os
import sys
import glob
if __name__ == "__main__":
file = sys.argv[1]
file_no = sys.argv[2]
if not file_no.isdigit():
raise ValueError("File number must be a number")
else:
file_no = int(file_no)
if len(glob.glob("_[0-9][0-9]_*")) > 0:
raise Exception("Escaped file already exists, rename it")
for esc in sorted(glob.glob("[0-9][0-9]_*")):
if int(esc.split("_")[0]) < file_no:
continue
else:
os.rename(esc, "_" + esc)
target = f"{file_no:02d}_" + file
if os.path.exists(target):
raise OSError(f"File {target} already exists")
os.rename(file, target)
while True:
nxt = glob.glob(f"_{file_no:02d}_*")
if len(nxt) == 0:
exit(0)
elif len(nxt) >= 2:
raise ValueError("More than one file with the same number")
else:
target = nxt[0]
replace_to = "_".join([f"{file_no+1:02d}", *target.split("_")[2:]])
os.rename(target, replace_to)
file_no += 1