def testGenerateFileName(self): #FIXME: More than one Style, different file suffixes, arcs. # generateFileName(Style=None) correctShow1 = Show('Black Books', '30', 'imdbtvbackend', 'tt0262150') correctShow1.addEpisode( Episode('2', "A test's test' & a test / # a test", '6 October 2000', 'none'), Season('1')) correctShow2 = Show('Spaced', '60', 'imdbtvbackend', 'tt0187664') correctShow2.addEpisode( Episode('3', "A test's test' & a test / # a test", '9 March 2001', 'none'), Season('2')) correctShow3 = Show('C.S.I', '60', 'imdbtvbackend', 'tt0247082') correctShow3.addEpisode( Episode('13', "Identity Crisis / # 4587", '17 January 2002', 'none'), Season('2')) self.FN = FileName('', self.database) self.FN.fileSuffix = '.avi' fileName1 = self.FN.generateFileName( correctShow1, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate') fileName2 = self.FN.generateFileName( correctShow2, self.Tools.filetypesXML, 'ntfs', '%show.S%seasonE%episode.%title.%arc.%airdate') fileName3 = self.FN.generateFileName( correctShow3, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate') assert fileName1 == "Black Books.S01E02.A test's test' & a test or # a test.none.6 October 2000.avi" assert fileName2 == "Spaced.S02E03.A tests test and a test or No. a test.none.9 March 2001.avi" assert fileName3 == "C.S.I.S02E13.Identity Crisis or # 4587.none.17 January 2002.avi"
def testGetPattern(self): dummydb = Database() dummyFN = FileName('dummy', dummydb) assert [ fn.getPattern() for fn in self.filenames ] == \ [ dummyFN.pattern1, dummyFN.pattern2, dummyFN.pattern1, dummyFN.pattern2, dummyFN.pattern1 ]
def testRenameFile(self): self.folder1 = Folder( os.path.join(self.Tools.rootDir, self.Tools.testDirs[0]), self.Tools.databaseDir) self.folder1.loadFiles() self.filename1 = FileName('blackbooks.s01e02.avi', self.database) self.filename1.getMatchingShows() self.filename1.generatePreview( self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )') assert os.listdir( self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi'] self.filename1.renameFile(self.folder1.path) assert os.listdir(self.folder1.path) == [ 'bb.s03e05.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi" ]
def testRevertFile(self) : self.folder1 = Folder(os.path.join(self.Tools.rootDir, self.Tools.testDirs[0]), self.Tools.databaseDir) self.folder1.loadFiles() self.filename1 = FileName( 'blackbooks.s01e02.avi', self.database ) self.filename1.getMatchingShows() self.filename1.generatePreview(self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )') assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi'] self.filename1.renameFile(self.folder1.path) assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi"] self.filename1.revertFile(self.folder1.path) assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi']
def setUp(self): self.Tools = Tools() self.Tools.createRootDir() self.Tools.createTempFiles() self.Tools.createDatabaseFiles() self.Tools.createFilesystemXML() self.database = Database(self.Tools.databaseDir) self.database.loadDB() smallville = Show('Smallville', '60', 'dummy', 'dummy') smallville.addAlias(Alias('smallville')) smallville.addEpisode(Episode('10', 'Bizarro', 'dummy'), Season('7')) self.database.addShow(smallville) self.files = [ 'blackbooks.s01e02.avi', 'spaced.2x03.avi', 'csi.s02E13.avi', 'black books - 03x02 - Six of One.avi', 'Smallville.S07E10.HDTV.XviD-XOR.avi' ] self.filenames = [ FileName(files, self.database) for files in self.files ]
def testGenerateFileName(self): #FIXME: More than one Style, different file suffixes, arcs. # generateFileName(Style=None) correctShow1 = Show( 'Black Books', '30', 'imdbtvbackend', 'tt0262150' ) correctShow1.addEpisode( Episode( '2', "A test's test' & a test / # a test", '6 October 2000', 'none'), Season('1') ) correctShow2 = Show( 'Spaced', '60', 'imdbtvbackend', 'tt0187664' ) correctShow2.addEpisode( Episode( '3', "A test's test' & a test / # a test", '9 March 2001', 'none'), Season('2') ) correctShow3 = Show( 'C.S.I', '60', 'imdbtvbackend', 'tt0247082' ) correctShow3.addEpisode( Episode( '13', "Identity Crisis / # 4587", '17 January 2002', 'none'), Season('2') ) self.FN = FileName('', self.database) self.FN.fileSuffix = '.avi' fileName1 = self.FN.generateFileName( correctShow1, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate' ) fileName2 = self.FN.generateFileName( correctShow2, self.Tools.filetypesXML, 'ntfs', '%show.S%seasonE%episode.%title.%arc.%airdate' ) fileName3 = self.FN.generateFileName( correctShow3, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate' ) assert fileName1 == "Black Books.S01E02.A test's test' & a test or # a test.none.6 October 2000.avi" assert fileName2 == "Spaced.S02E03.A tests test and a test or No. a test.none.9 March 2001.avi" assert fileName3 == "C.S.I.S02E13.Identity Crisis or # 4587.none.17 January 2002.avi"
class testFileName: """ Test FileName Class """ def setUp(self): self.Tools = Tools() self.Tools.createRootDir() self.Tools.createTempFiles() self.Tools.createDatabaseFiles() self.Tools.createFilesystemXML() self.database = Database(self.Tools.databaseDir) self.database.loadDB() smallville = Show('Smallville', '60', 'dummy', 'dummy') smallville.addAlias(Alias('smallville')) smallville.addEpisode(Episode('10', 'Bizarro', 'dummy'), Season('7')) self.database.addShow(smallville) self.files = [ 'blackbooks.s01e02.avi', 'spaced.2x03.avi', 'csi.s02E13.avi', 'black books - 03x02 - Six of One.avi', 'Smallville.S07E10.HDTV.XviD-XOR.avi' ] self.filenames = [ FileName(files, self.database) for files in self.files ] def tearDown(self): self.Tools.removeTempFiles() def testGetPattern(self): dummydb = Database() dummyFN = FileName('dummy', dummydb) assert [ fn.getPattern() for fn in self.filenames ] == \ [ dummyFN.pattern1, dummyFN.pattern2, dummyFN.pattern1, dummyFN.pattern2, dummyFN.pattern1 ] def testGetSeason(self): assert [ fn.getSeason() for fn in self.filenames ] == \ [ '1', '2', '2', '3', '7' ] def testGetEpisode(self): assert [ fn.getEpisode() for fn in self.filenames ] == \ [ '2', '3', '13', '2', '10' ] def testGetMatchingShows(self): assert [ fn.getMatchingShows().name for fn in self.filenames ] == \ [ 'Black Books', 'Spaced', 'C.S.I', 'Black Books', 'Smallville' ] def testGeneratePreview(self): result = [] for fn in self.filenames: fn.getMatchingShows() result.append( fn.generatePreview( self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )')) assert result == [ ('blackbooks.s01e02.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi" ), ('spaced.2x03.avi', 'Spaced - 02x03 - Mettle ( none - 9 March 2001 ).avi'), ('csi.s02E13.avi', 'C.S.I - 02x13 - Identity Crisis ( none - 17 January 2002 ).avi'), ('black books - 03x02 - Six of One.avi', 'Black Books - 03x02 - Elephants and Hens ( none - 18 March 2004 ).avi' ), ('Smallville.S07E10.HDTV.XviD-XOR.avi', 'Smallville - 07x10 - Bizarro ( none - dummy ).avi') ] result = [] for fn in self.filenames: fn.getMatchingShows() result.append( fn.generatePreview( self.Tools.filetypesXML, 'ntfs', '%show - %seasonE%episode - %title ( %arc - %airdate )')) assert result == [ ('blackbooks.s01e02.avi', 'Black Books - 01E02 - Mannys First Day ( none - 6 October 2000 ).avi' ), ('spaced.2x03.avi', 'Spaced - 02E03 - Mettle ( none - 9 March 2001 ).avi'), ('csi.s02E13.avi', 'C.S.I - 02E13 - Identity Crisis ( none - 17 January 2002 ).avi'), ('black books - 03x02 - Six of One.avi', 'Black Books - 03E02 - Elephants and Hens ( none - 18 March 2004 ).avi' ), ('Smallville.S07E10.HDTV.XviD-XOR.avi', 'Smallville - 07E10 - Bizarro ( none - dummy ).avi') ] def testGetShowDetails(self): testShows = [ fn.getShowDetails(self.Tools.filetypesXML, fn.getMatchingShows()) for fn in self.filenames ] assert [len(ts.seasons) for ts in testShows] == [1, 1, 1, 1, 1] assert [len(ts.seasons[0].episodes) for ts in testShows] == [1, 1, 1, 1, 1] correctShow1 = Show('Black Books', '30', 'imdbtvbackend', 'tt0262150') correctShow1.addEpisode( Episode('2', "Manny's First Day", '6 October 2000', 'none'), Season('1')) correctShow2 = Show('Spaced', '60', 'imdbtvbackend', 'tt0187664') correctShow2.addEpisode(Episode('3', 'Mettle', '9 March 2001', 'none'), Season('2')) correctShow3 = Show('C.S.I', '60', 'imdbtvbackend', 'tt0247082') correctShow3.addEpisode( Episode('13', 'Identity Crisis', '17 January 2002', 'none'), Season('2')) def compareShows(show, other): if show.name != other.name or show.duration != other.duration or show.backend != other.backend or show.url != other.url: assert False elif show.seasons[0].name != other.seasons[0].name: assert False elif show.seasons[0].episodes[0].name != other.seasons[0].episodes[ 0].name or show.seasons[0].episodes[ 0].title != other.seasons[0].episodes[ 0].title or show.seasons[0].episodes[ 0].airdate != other.seasons[0].episodes[ 0].airdate or show.seasons[0].episodes[ 0].arc != other.seasons[0].episodes[ 0].arc: assert False else: return True assert compareShows(testShows[0], correctShow1) assert compareShows(testShows[1], correctShow2) assert compareShows(testShows[2], correctShow3) def testGenerateFileName(self): #FIXME: More than one Style, different file suffixes, arcs. # generateFileName(Style=None) correctShow1 = Show('Black Books', '30', 'imdbtvbackend', 'tt0262150') correctShow1.addEpisode( Episode('2', "A test's test' & a test / # a test", '6 October 2000', 'none'), Season('1')) correctShow2 = Show('Spaced', '60', 'imdbtvbackend', 'tt0187664') correctShow2.addEpisode( Episode('3', "A test's test' & a test / # a test", '9 March 2001', 'none'), Season('2')) correctShow3 = Show('C.S.I', '60', 'imdbtvbackend', 'tt0247082') correctShow3.addEpisode( Episode('13', "Identity Crisis / # 4587", '17 January 2002', 'none'), Season('2')) self.FN = FileName('', self.database) self.FN.fileSuffix = '.avi' fileName1 = self.FN.generateFileName( correctShow1, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate') fileName2 = self.FN.generateFileName( correctShow2, self.Tools.filetypesXML, 'ntfs', '%show.S%seasonE%episode.%title.%arc.%airdate') fileName3 = self.FN.generateFileName( correctShow3, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate') assert fileName1 == "Black Books.S01E02.A test's test' & a test or # a test.none.6 October 2000.avi" assert fileName2 == "Spaced.S02E03.A tests test and a test or No. a test.none.9 March 2001.avi" assert fileName3 == "C.S.I.S02E13.Identity Crisis or # 4587.none.17 January 2002.avi" def testRenameFile(self): self.folder1 = Folder( os.path.join(self.Tools.rootDir, self.Tools.testDirs[0]), self.Tools.databaseDir) self.folder1.loadFiles() self.filename1 = FileName('blackbooks.s01e02.avi', self.database) self.filename1.getMatchingShows() self.filename1.generatePreview( self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )') assert os.listdir( self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi'] self.filename1.renameFile(self.folder1.path) assert os.listdir(self.folder1.path) == [ 'bb.s03e05.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi" ] def testRevertFile(self): self.folder1 = Folder( os.path.join(self.Tools.rootDir, self.Tools.testDirs[0]), self.Tools.databaseDir) self.folder1.loadFiles() self.filename1 = FileName('blackbooks.s01e02.avi', self.database) self.filename1.getMatchingShows() self.filename1.generatePreview( self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )') assert os.listdir( self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi'] self.filename1.renameFile(self.folder1.path) assert os.listdir(self.folder1.path) == [ 'bb.s03e05.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi" ] self.filename1.revertFile(self.folder1.path) assert os.listdir( self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi']
class testFileName : """ Test FileName Class """ def setUp(self) : self.Tools = Tools() self.Tools.createRootDir() self.Tools.createTempFiles() self.Tools.createDatabaseFiles() self.Tools.createFilesystemXML() self.database = Database(self.Tools.databaseDir) self.database.loadDB() smallville = Show('Smallville', '60', 'dummy', 'dummy') smallville.addAlias(Alias('smallville')) smallville.addEpisode( Episode('10', 'Bizarro', 'dummy'), Season('7') ) self.database.addShow( smallville ) self.files = [ 'blackbooks.s01e02.avi', 'spaced.2x03.avi', 'csi.s02E13.avi', 'black books - 03x02 - Six of One.avi', 'Smallville.S07E10.HDTV.XviD-XOR.avi' ] self.filenames = [ FileName( files, self.database ) for files in self.files ] def tearDown(self): self.Tools.removeTempFiles() def testGetPattern(self): dummydb = Database() dummyFN = FileName( 'dummy', dummydb ) assert [ fn.getPattern() for fn in self.filenames ] == \ [ dummyFN.pattern1, dummyFN.pattern2, dummyFN.pattern1, dummyFN.pattern2, dummyFN.pattern1 ] def testGetSeason(self): assert [ fn.getSeason() for fn in self.filenames ] == \ [ '1', '2', '2', '3', '7' ] def testGetEpisode(self): assert [ fn.getEpisode() for fn in self.filenames ] == \ [ '2', '3', '13', '2', '10' ] def testGetMatchingShows(self): assert [ fn.getMatchingShows().name for fn in self.filenames ] == \ [ 'Black Books', 'Spaced', 'C.S.I', 'Black Books', 'Smallville' ] def testGeneratePreview(self): result = [] for fn in self.filenames : fn.getMatchingShows() result.append( fn.generatePreview(self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )' ) ) assert result == [ ('blackbooks.s01e02.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi"), ('spaced.2x03.avi', 'Spaced - 02x03 - Mettle ( none - 9 March 2001 ).avi'), ('csi.s02E13.avi', 'C.S.I - 02x13 - Identity Crisis ( none - 17 January 2002 ).avi'), ('black books - 03x02 - Six of One.avi', 'Black Books - 03x02 - Elephants and Hens ( none - 18 March 2004 ).avi'), ('Smallville.S07E10.HDTV.XviD-XOR.avi', 'Smallville - 07x10 - Bizarro ( none - dummy ).avi')] result = [] for fn in self.filenames : fn.getMatchingShows() result.append( fn.generatePreview(self.Tools.filetypesXML, 'ntfs', '%show - %seasonE%episode - %title ( %arc - %airdate )' ) ) assert result == [('blackbooks.s01e02.avi', 'Black Books - 01E02 - Mannys First Day ( none - 6 October 2000 ).avi'), ('spaced.2x03.avi', 'Spaced - 02E03 - Mettle ( none - 9 March 2001 ).avi'), ('csi.s02E13.avi', 'C.S.I - 02E13 - Identity Crisis ( none - 17 January 2002 ).avi'), ('black books - 03x02 - Six of One.avi', 'Black Books - 03E02 - Elephants and Hens ( none - 18 March 2004 ).avi'), ('Smallville.S07E10.HDTV.XviD-XOR.avi', 'Smallville - 07E10 - Bizarro ( none - dummy ).avi')] def testGetShowDetails(self): testShows = [ fn.getShowDetails( self.Tools.filetypesXML, fn.getMatchingShows() ) for fn in self.filenames ] assert [ len(ts.seasons) for ts in testShows ] == [1, 1, 1, 1, 1] assert [ len(ts.seasons[0].episodes) for ts in testShows ] == [1, 1, 1, 1, 1] correctShow1 = Show( 'Black Books', '30', 'imdbtvbackend', 'tt0262150' ) correctShow1.addEpisode( Episode( '2', "Manny's First Day", '6 October 2000', 'none'), Season('1') ) correctShow2 = Show( 'Spaced', '60', 'imdbtvbackend', 'tt0187664' ) correctShow2.addEpisode( Episode( '3', 'Mettle', '9 March 2001', 'none'), Season('2') ) correctShow3 = Show( 'C.S.I', '60', 'imdbtvbackend', 'tt0247082' ) correctShow3.addEpisode( Episode( '13', 'Identity Crisis', '17 January 2002', 'none'), Season('2') ) def compareShows(show, other) : if show.name != other.name or show.duration != other.duration or show.backend != other.backend or show.url != other.url : assert False elif show.seasons[0].name != other.seasons[0].name : assert False elif show.seasons[0].episodes[0].name != other.seasons[0].episodes[0].name or show.seasons[0].episodes[0].title != other.seasons[0].episodes[0].title or show.seasons[0].episodes[0].airdate != other.seasons[0].episodes[0].airdate or show.seasons[0].episodes[0].arc != other.seasons[0].episodes[0].arc : assert False else : return True assert compareShows( testShows[0], correctShow1 ) assert compareShows( testShows[1], correctShow2 ) assert compareShows( testShows[2], correctShow3 ) def testGenerateFileName(self): #FIXME: More than one Style, different file suffixes, arcs. # generateFileName(Style=None) correctShow1 = Show( 'Black Books', '30', 'imdbtvbackend', 'tt0262150' ) correctShow1.addEpisode( Episode( '2', "A test's test' & a test / # a test", '6 October 2000', 'none'), Season('1') ) correctShow2 = Show( 'Spaced', '60', 'imdbtvbackend', 'tt0187664' ) correctShow2.addEpisode( Episode( '3', "A test's test' & a test / # a test", '9 March 2001', 'none'), Season('2') ) correctShow3 = Show( 'C.S.I', '60', 'imdbtvbackend', 'tt0247082' ) correctShow3.addEpisode( Episode( '13', "Identity Crisis / # 4587", '17 January 2002', 'none'), Season('2') ) self.FN = FileName('', self.database) self.FN.fileSuffix = '.avi' fileName1 = self.FN.generateFileName( correctShow1, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate' ) fileName2 = self.FN.generateFileName( correctShow2, self.Tools.filetypesXML, 'ntfs', '%show.S%seasonE%episode.%title.%arc.%airdate' ) fileName3 = self.FN.generateFileName( correctShow3, self.Tools.filetypesXML, 'ext3', '%show.S%seasonE%episode.%title.%arc.%airdate' ) assert fileName1 == "Black Books.S01E02.A test's test' & a test or # a test.none.6 October 2000.avi" assert fileName2 == "Spaced.S02E03.A tests test and a test or No. a test.none.9 March 2001.avi" assert fileName3 == "C.S.I.S02E13.Identity Crisis or # 4587.none.17 January 2002.avi" def testRenameFile(self) : self.folder1 = Folder(os.path.join(self.Tools.rootDir, self.Tools.testDirs[0]), self.Tools.databaseDir) self.folder1.loadFiles() self.filename1 = FileName( 'blackbooks.s01e02.avi', self.database ) self.filename1.getMatchingShows() self.filename1.generatePreview(self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )') assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi'] self.filename1.renameFile(self.folder1.path) assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi"] def testRevertFile(self) : self.folder1 = Folder(os.path.join(self.Tools.rootDir, self.Tools.testDirs[0]), self.Tools.databaseDir) self.folder1.loadFiles() self.filename1 = FileName( 'blackbooks.s01e02.avi', self.database ) self.filename1.getMatchingShows() self.filename1.generatePreview(self.Tools.filetypesXML, 'ext3', '%show - %seasonx%episode - %title ( %arc - %airdate )') assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi'] self.filename1.renameFile(self.folder1.path) assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', "Black Books - 01x02 - Manny's First Day ( none - 6 October 2000 ).avi"] self.filename1.revertFile(self.folder1.path) assert os.listdir(self.folder1.path) == ['bb.s03e05.avi', 'blackbooks.s01e02.avi']