Skip to content

Instantly share code, notes, and snippets.

@jeremy9959
Created January 30, 2024 15:37
Show Gist options
  • Save jeremy9959/5c395a91d87951d1d6fe2da70bf0a519 to your computer and use it in GitHub Desktop.
Save jeremy9959/5c395a91d87951d1d6fe2da70bf0a519 to your computer and use it in GitHub Desktop.
Renaming HuskyCT Files
# %%
# Needs to have roster.csv available to convert netid to student name
import os
import re
import pandas as pd
AssignmentKey = r"Final Project"
# %%
allfiles = os.listdir()
files = [f for f in allfiles if re.match(r".*\.ipynb$", f)]
pdffiles = [f for f in allfiles if re.match(r".*\.pdf$", f)]
qmdfiles = [f for f in allfiles if re.match(r".*\.qmd$", f)]
zipfiles = [f for f in allfiles if re.match(r".*\.zip$", f)]
txtfiles = [f for f in allfiles if re.match(r".*\.txt$", f)]
# %%
ids = []
for x in files:
netid = re.search(AssignmentKey + r"_([a-z]{3}\d{5})_.*\.ipynb$", x)
if netid:
ids.append(netid.group(1))
# %%
roster = pd.read_csv("../roster.csv")
namer = {}
for x in ids:
name = roster[roster["NetId"] == x.upper()]["Name"]
lname = name.values[0].split(",")[0].replace(" ", "_")
fname = name.values[0].split(",")[1].replace(" ", "_")
namer[x] = fname + "_" + lname
# %%
for x, y in zip(files, ids):
os.rename(x, namer[y] + ".ipynb")
# %%
pdfids = []
for x in pdffiles:
netid = re.search(AssignmentKey + r"_([a-z]{3}\d{5})_.*\.pdf$", x)
if netid:
pdfids.append(netid.group(1))
pdfnamer = {}
for x in pdfids:
name = roster[roster["NetId"] == x.upper()]["Name"]
lname = name.values[0].split(",")[0].replace(" ", "_")
fname = name.values[0].split(",")[1].replace(" ", "_")
pdfnamer[x] = fname + "_" + lname
for x, y in zip(pdffiles, pdfids):
os.rename(x, pdfnamer[y] + ".pdf")
# %%
qmdids = []
for x in qmdfiles:
netid = re.search(AssignmentKey + r"_([a-z]{3}\d{5})_.*\.qmd$", x)
if netid:
qmdids.append(netid.group(1))
# %%
qmdnamer = {}
for x in qmdids:
name = roster[roster["NetId"] == x.upper()]["Name"]
print(name.values[0])
lname = name.values[0].split(",")[0].replace(" ", "_")
fname = name.values[0].split(",")[1].replace(" ", "_")
qmdnamer[x] = fname + "_" + lname
# %%
for x, y in zip(qmdfiles, qmdids):
os.rename(x, qmdnamer[y] + ".qmd")
# %%
zipids = []
for x in zipfiles:
netid = re.search(AssignmentKey + r"_([a-z]{3}\d{5})_.*\.zip$", x)
if netid:
zipids.append(netid.group(1))
# %%
zipnamer = {}
for x in zipids:
name = roster[roster["NetId"] == x.upper()]["Name"]
print(name.values[0])
lname = name.values[0].split(",")[0].replace(" ", "_")
fname = name.values[0].split(",")[1].replace(" ", "_")
zipnamer[x] = fname + "_" + lname
# %%
for x, y in zip(zipfiles, zipids):
os.rename(x, zipnamer[y] + ".zip")
# %%
txtids = []
for x in txtfiles:
netid = re.search(AssignmentKey + r"_([a-z]{3}\d{5})_.*\.txt$", x)
if netid:
txtids.append(netid.group(1))
txtnamer = {}
for x in txtids:
name = roster[roster["NetId"] == x.upper()]["Name"]
print(name.values[0])
lname = name.values[0].split(",")[0].replace(" ", "_")
fname = name.values[0].split(",")[1].replace(" ", "_")
txtnamer[x] = fname + "_" + lname
# %%
for x, y in zip(txtfiles, txtids):
os.rename(x, txtnamer[y] + ".txt")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment