You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

25 lines
688 B

  1. #!/usr/bin/env python3
  2. # Take input filenames over stdin, write filenames to stdout only if they're for a wanted video
  3. #
  4. # Args: file containing just the wanted video IDs
  5. import re
  6. import sys
  7. wanted_video_ids_fname = sys.argv[1]
  8. wanted_video_ids = set()
  9. with open(wanted_video_ids_fname, "rb") as f:
  10. for line in f:
  11. video_id = line.rstrip(b"\r\n")
  12. assert len(video_id) == 11, video_id
  13. wanted_video_ids.add(video_id)
  14. del video_id
  15. for line in sys.stdin.buffer:
  16. filename = line.rstrip(b"\r\n")
  17. video_id = re.findall(rb"-[-_A-Za-z0-9]{11}\.", filename)[-1][1:-1]
  18. assert len(video_id) == 11, video_id
  19. if video_id in wanted_video_ids:
  20. sys.stdout.buffer.write(filename + b"\n")