Skip to content

Instantly share code, notes, and snippets.

@brandonhesse
Last active April 1, 2017 20:05
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 brandonhesse/5eedc28ca7d0f00c0926d7dc2dbd3021 to your computer and use it in GitHub Desktop.
Save brandonhesse/5eedc28ca7d0f00c0926d7dc2dbd3021 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
import csv
import sys
import subprocess
from collections import namedtuple
DiskTrack = namedtuple("DiskTrack", "disk track episode name filename")
def read_database(filename):
with open(filename, "r") as csvfile:
dariaDb = csv.reader(csvfile, delimiter=",", quotechar="\"")
return [DiskTrack(*row) for row in dariaDb]
def main(argv):
ok = True
tracks = read_database("daria_database.csv")
for entry in (track for track in tracks if track.disk == argv[0]):
status = subprocess.call(("dvdbackup", "-p", "-i", "/dev/dvd", "-o", entry.disk, "-t", entry.track))
if status != 0:
print("Error on episode: ({0},{1})".format(entry.disk, entry.episode), file=sys.stderr)
ok = False
break
if not ok:
subprocess.call(("eject", "/dev/dvd"))
if __name__ == "__main__":
main(sys.argv[1:])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment