Source code for video_curation.video_repo

import glob

import git
import itertools
import logging
import os

for handler in logging.root.handlers[:]:
    logging.root.removeHandler(handler)
logging.basicConfig(
    level=logging.DEBUG,
    format="%(levelname)s:%(asctime)s:%(module)s:%(lineno)d %(message)s"
)


[docs]class VideoRepo(object): """ An Video file repository. The local repository, by default, is assumed to be a collection of working directories (self.repo_paths) with two subfolders: - mp4: Containing mp4-s for every "episode" in the repository. """ def __init__(self, repo_paths, archive_item=None): self.repo_paths = repo_paths self.base_mp4_file_paths = [item for sublist in [sorted(glob.glob(os.path.join(repo_path, "*.mp4"))) for repo_path in repo_paths] for item in sublist] titles = [self.get_title_from_path(filepath=filepath) for filepath in self.base_mp4_file_paths] self.title_to_path = dict(zip(titles, self.base_mp4_file_paths)) logging.info("Got %d files" % (len(self.base_mp4_file_paths))) self.archive_item = archive_item
[docs] def get_title_from_path(self, filepath): return os.path.basename(filepath).replace("_", " ")[:-4]