Skip to content

Instantly share code, notes, and snippets.

@mrahtz
Created March 9, 2019 02:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrahtz/d8218c10d97fd77374a47c8aebec1dcb to your computer and use it in GitHub Desktop.
Save mrahtz/d8218c10d97fd77374a47c8aebec1dcb to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
import argparse
import pathlib
import subprocess
import os
import shutil
import tempfile
parser = argparse.ArgumentParser()
parser.add_argument('vid_dirs', nargs='*')
parser.add_argument('--n', type=int, default=5)
args = parser.parse_args()
vids_by_dir = {}
for vid_dir in args.vid_dirs:
for root, dirs, files in os.walk(vid_dir):
files = [os.path.join(root, f) for f in files]
mp4_files = list(filter(lambda f: f.endswith('.mp4'), files))
if not mp4_files:
continue
mp4_files = sorted(mp4_files, key=lambda f: os.path.getmtime(f))
mp4_files = mp4_files[-args.n:]
vids_by_dir[pathlib.Path(root).parts[0]] = mp4_files[:]
temp_dir = tempfile.mkdtemp()
for dirname in vids_by_dir:
dirname_tmp = os.path.join(temp_dir, dirname)
os.mkdir(dirname_tmp)
for vid in vids_by_dir[dirname]:
shutil.copy(vid, dirname_tmp)
subprocess.run(f"t {temp_dir}/*", shell=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment