using python to create the lengthy AtomicParsley calls described in the last post:
#!/usr/bin/python
import csv
import pipes
import StringIO
#metadata.csv has to contain the following rows:
#filename, show, season, episode, title, artwork, description
csvfile='metadata.csv'
csvreader = csv.reader(open(csvfile, 'rbU'), delimiter=',', quotechar='"')
class Command:
def __init__(self, file):
self.command = StringIO.StringIO()
self.command.write('AtomicParsley ')
self.command.write(pipes.quote(file))
def addParam(self, key, value):
self.command.write(' --')
self.command.write(key)
self.command.write(' ')
self.command.write(pipes.quote(value))
def toString(self):
return self.command.getvalue()
def close(self):
self.command.close()
def handleFile(row):
m4vfile = row[0]
show = row[1]
season = row[2]
episode = row[3]
title = row[4]
artwork = row[5]
description = row[6]
episodeCode = season + '' + str(episode).zfill(2) ##leading zeroes
command = Command(m4vfile)
command.addParam('artist', show)
command.addParam('title', title)
command.addParam('album', show + ', Season ' + season)
command.addParam('artwork', artwork)
command.addParam('stik', 'TV Show')
command.addParam('description', description)
command.addParam('TVShowName', show)
command.addParam('TVEpisode', episodeCode)
command.addParam('TVEpisodeNum', episode)
command.addParam('TVSeasonNum', season)
print command.toString()
command.close()
for row in csvreader:
handleFile(row)