Files
CSC110/zoom_rename.py
T
2021-09-23 22:14:30 -04:00

38 lines
994 B
Python

import os
from datetime import datetime
from pathlib import Path
from typing import Tuple
def parse_name(name: str) -> Tuple[datetime, str]:
name = name[3:]
ext = name[name.rindex('.'):]
date = name[:8]
date = datetime.strptime(date, '%Y%m%d')
return date, ext
if __name__ == '__main__':
# List files
files = list(os.listdir('./'))
files.sort()
# Filter files that starts with GMT
files = [f for f in files if f.startswith('GMT')]
# Videos only
vids = [f for f in files if f.endswith('mp4')]
for v in vids:
# Parse name
date, ext = parse_name(v)
date = date.strftime('%Y %m-%d')
os.rename(v, date + ext)
front = v[:28]
related = [f for f in files if f not in vids and f.startswith(front)]
for file in related:
ext = file[file.index('.'):]
Path(date).mkdir(parents=True, exist_ok=True)
os.rename(file, date + '/' + date + ext)
print(files)