def test_reverse_parse(self): fn = self._get_parsable(reverse=True) ep = reverse_parse_episode(fn, self.root) log.debug("\n" + ep.pretty()) self.assertEqual(ep["series_title"], "The War At Home") self.assertEqual(ep["season_number"], 1) self.assertEqual(ep["ep_number"], 11)
def test_reverse_parse(self): fn = self._get_parsable(reverse=True) ep = reverse_parse_episode(fn, self.root) log.debug('\n'+ep.pretty()) self.assertEqual(ep['series_title'], 'The War At Home') self.assertEqual(ep['season_number'], 1) self.assertEqual(ep['ep_number'], 11)
def _get_parsable(self, reverse=True): if reverse: fn = "The War At Home/Season 1/tpz-twat111.avi" fn = normpath(os.path.join(self.root, fn)) log.debug('rev parsable fn: "%s"', fn) log.debug("is valid path: %s", os.path.exists(fn)) return fn else: raise NotImplementedError
def _get_parsable(self, reverse=True): if reverse: fn = 'The War At Home/Season 1/tpz-twat111.avi' fn = normpath(os.path.join(self.root, fn)) log.debug('rev parsable fn: "%s"', fn) log.debug('is valid path: %s', os.path.exists(fn)) return fn else: raise NotImplementedError
def test_make_symlink(self): target = pj(self.testdir, 'spam.avi') self._make_file(target) link = pj(self.testdir, 'eggs', 'milk', 'cakes', 'spam.lnk') make_symlink(target, link) log.debug('link: %s', link) assert os.path.exists(link) assert os.path.islink(link) assert samefile(os.path.realpath(link), target)
def test_get_episodes(self): """ also tests upsert. """ self.db.create_database() ep = parser.base_parse_episode( os.path.join( self.db.directory, 'Sons of Anarchy/S04/Sons.of.'\ +'Anarchy.S04E11.Call.of.Duty.PROPER.HDTV.XviD-FQM'\ +'/sons.of.anarchy.s04e11.hdtv.xvid-fqm.avi')) ep = tvdbwrapper.lookup(ep) self.db.upsert_episode(ep) deps = self.db.get_episodes('WHERE season_number = ?', params=(4, )) log.debug(deps) deps = [d for d in deps] self.failIfEqual(len(deps), 0) for e in deps: righttype = isinstance(e, dbguy.Episode) self.assertTrue(righttype) self.assertEqual(e['season_number'], 4)
def test_get_episodes(self): """ also tests upsert. """ self.db.create_database() ep = parser.base_parse_episode( os.path.join( self.db.directory, 'Sons of Anarchy/S04/Sons.of.'\ +'Anarchy.S04E11.Call.of.Duty.PROPER.HDTV.XviD-FQM'\ +'/sons.of.anarchy.s04e11.hdtv.xvid-fqm.avi')) ep = tvdbwrapper.lookup(ep) self.db.upsert_episode(ep) deps = self.db.get_episodes('WHERE season_number = ?', params=(4,)) log.debug(deps) deps = [d for d in deps] self.failIfEqual(len(deps), 0) for e in deps: righttype = isinstance(e, dbguy.Episode) self.assertTrue(righttype) self.assertEqual(e['season_number'], 4)
def test_regexes(self): """ Test some of the filename regular expressions against known matching filenames. """ d = { "standard": "seinfeld.s03e17e18.the.boyfriend-lol", "fov_repeat": "seinfeld 3x17 3x18 the boyfriend", "stupid_acronyms": "abc-seinfeld.s03e17", "verbose": "Seinfeld Season 03 Episode 17 The Boyfriend", #'scene_date_format' : 'seinfeld.1990.09.26.the.boyfriend' - borked "standardish_weird": "seinfelds03e17somecrap", "season_ep_only": "Season 3 Episode 17", "stupid": "tpz-seinfeld317", } for regn, fn in d.iteritems(): ep = base_parse_episode(fn) log.debug("\n%s : %s", regn, fn) log.debug(ep.pretty()) self._check_regex(regn, ep) log.debug("Passed re: %s", regn)
def test_regexes(self): """ Test some of the filename regular expressions against known matching filenames. """ d = { 'standard' : 'seinfeld.s03e17e18.the.boyfriend-lol', 'fov_repeat' : 'seinfeld 3x17 3x18 the boyfriend', 'stupid_acronyms' : 'abc-seinfeld.s03e17', 'verbose' : 'Seinfeld Season 03 Episode 17 The Boyfriend', #'scene_date_format' : 'seinfeld.1990.09.26.the.boyfriend' - borked 'standardish_weird' : 'seinfelds03e17somecrap', 'season_ep_only' : 'Season 3 Episode 17', 'stupid' : 'tpz-seinfeld317', } for regn, fn in d.iteritems(): ep = base_parse_episode(fn) log.debug('\n%s : %s', regn, fn) log.debug(ep.pretty()) self._check_regex(regn, ep) log.debug('Passed re: %s', regn)