def get_episode_thumb_path(ep_obj): """ Returns the path where the episode thumbnail should be stored. Defaults to the same path as the episode file but with a .metathumb extension. ep_obj: a TVEpisode instance for which to create the thumbnail """ if ek(os.path.isfile, ep_obj.location): tbn_filename = replace_extension(ep_obj.location, 'metathumb') else: return None return tbn_filename
def get_episode_thumb_path(ep_obj): """ Returns a full show dir/metadata/episode.jpg path for MediaBrowser episode thumbs. ep_obj: a TVEpisode object to get the path from """ if ek(os.path.isfile, ep_obj.location): tbn_file_name = replace_extension(ek(os.path.basename, ep_obj.location), 'jpg') metadata_dir_name = ek(os.path.join, ek(os.path.dirname, ep_obj.location), 'metadata') tbn_file_path = ek(os.path.join, metadata_dir_name, tbn_file_name) else: return None return tbn_file_path
def get_episode_file_path(self, ep_obj): """ Returns a full show dir/metadata/episode.xml path for MediaBrowser episode metadata files ep_obj: a TVEpisode object to get the path for """ if ek(os.path.isfile, ep_obj.location): xml_file_name = replace_extension(ek(os.path.basename, ep_obj.location), self._ep_nfo_extension) metadata_dir_name = ek(os.path.join, ek(os.path.dirname, ep_obj.location), 'metadata') xml_file_path = ek(os.path.join, metadata_dir_name, xml_file_name) else: logger.log("Episode location doesn't exist: " + str(ep_obj.location), logger.DEBUG) return '' return xml_file_path
def get_episode_file_path(self, ep_obj): """ Returns a full show dir/metadata/episode.xml path for MediaBrowser episode metadata files ep_obj: a TVEpisode object to get the path for """ if os.path.isfile(ep_obj.location): xml_filename = replace_extension(os.path.basename(ep_obj.location), self._ep_nfo_extension) metadata_dir_name = os.path.join(os.path.dirname(ep_obj.location), "metadata") xml_file_path = os.path.join(metadata_dir_name, xml_filename) else: logger.debug("Episode location doesn't exist: " + str(ep_obj.location)) return "" return xml_file_path
def get_episode_file_path(self, ep_obj): return replace_extension(ep_obj.location, self._ep_nfo_extension)
def get_episode_thumb_path(ep_obj): return replace_extension(ep_obj.location, 'jpg')
def test_replace_extension(self): """ Test replace extension """ test_cases = { (None, None): None, (None, ''): None, (42, None): 42, (42, ''): 42, ('', None): '', ('', ''): '', ('.', None): '.', ('.', ''): '.', ('.', 'avi'): '.', ('filename', None): 'filename', ('filename', ''): 'filename', ('filename', 'avi'): 'filename', ('.bashrc', None): '.bashrc', ('.bashrc', ''): '.bashrc', ('.bashrc', 'avi'): '.bashrc', ('file.mkv', None): 'file.None', ('file.mkv', ''): 'file.', ('file.mkv', 'avi'): 'file.avi', ('file.name.mkv', None): 'file.name.None', ('file.name.mkv', ''): 'file.name.', ('file.name.mkv', 'avi'): 'file.name.avi', } unicode_test_cases = { (None, ''): None, (42, ''): 42, ('', ''): '', ('', None): '', ('', ''): '', ('', ''): '', ('.', ''): '.', ('.', 'avi'): '.', ('.', None): '.', ('.', ''): '.', ('.', ''): '.', ('.', 'avi'): '.', ('.', 'avi'): '.', ('filename', ''): 'filename', ('filename', 'avi'): 'filename', ('filename', None): 'filename', ('filename', ''): 'filename', ('filename', ''): 'filename', ('filename', 'avi'): 'filename', ('filename', 'avi'): 'filename', ('.bashrc', ''): '.bashrc', ('.bashrc', 'avi'): '.bashrc', ('.bashrc', None): '.bashrc', ('.bashrc', ''): '.bashrc', ('.bashrc', ''): '.bashrc', ('.bashrc', 'avi'): '.bashrc', ('.bashrc', 'avi'): '.bashrc', ('file.mkv', ''): 'file.', ('file.mkv', 'avi'): 'file.avi', ('file.mkv', None): 'file.None', ('file.mkv', ''): 'file.', ('file.mkv', ''): 'file.', ('file.mkv', 'avi'): 'file.avi', ('file.mkv', 'avi'): 'file.avi', ('file.name.mkv', ''): 'file.name.', ('file.name.mkv', 'avi'): 'file.name.avi', ('file.name.mkv', None): 'file.name.None', ('file.name.mkv', ''): 'file.name.', ('file.name.mkv', ''): 'file.name.', ('file.name.mkv', 'avi'): 'file.name.avi', ('file.name.mkv', 'avi'): 'file.name.avi', } for tests in test_cases, unicode_test_cases: for ((filename, extension), result) in six.iteritems(tests): self.assertEqual(replace_extension(filename, extension), result)
def test_replace_extension(self): """ Test replace extension """ test_cases = { (None, None): None, (None, ""): None, (42, None): 42, (42, ""): 42, ("", None): "", ("", ""): "", (".", None): ".", (".", ""): ".", (".", "avi"): ".", ("filename", None): "filename", ("filename", ""): "filename", ("filename", "avi"): "filename", (".bashrc", None): ".bashrc", (".bashrc", ""): ".bashrc", (".bashrc", "avi"): ".bashrc", ("file.mkv", None): "file.None", ("file.mkv", ""): "file.", ("file.mkv", "avi"): "file.avi", ("file.name.mkv", None): "file.name.None", ("file.name.mkv", ""): "file.name.", ("file.name.mkv", "avi"): "file.name.avi", } unicode_test_cases = { (None, ""): None, (42, ""): 42, ("", ""): "", ("", None): "", ("", ""): "", ("", ""): "", (".", ""): ".", (".", "avi"): ".", (".", None): ".", (".", ""): ".", (".", ""): ".", (".", "avi"): ".", (".", "avi"): ".", ("filename", ""): "filename", ("filename", "avi"): "filename", ("filename", None): "filename", ("filename", ""): "filename", ("filename", ""): "filename", ("filename", "avi"): "filename", ("filename", "avi"): "filename", (".bashrc", ""): ".bashrc", (".bashrc", "avi"): ".bashrc", (".bashrc", None): ".bashrc", (".bashrc", ""): ".bashrc", (".bashrc", ""): ".bashrc", (".bashrc", "avi"): ".bashrc", (".bashrc", "avi"): ".bashrc", ("file.mkv", ""): "file.", ("file.mkv", "avi"): "file.avi", ("file.mkv", None): "file.None", ("file.mkv", ""): "file.", ("file.mkv", ""): "file.", ("file.mkv", "avi"): "file.avi", ("file.mkv", "avi"): "file.avi", ("file.name.mkv", ""): "file.name.", ("file.name.mkv", "avi"): "file.name.avi", ("file.name.mkv", None): "file.name.None", ("file.name.mkv", ""): "file.name.", ("file.name.mkv", ""): "file.name.", ("file.name.mkv", "avi"): "file.name.avi", ("file.name.mkv", "avi"): "file.name.avi", } for tests in test_cases, unicode_test_cases: for ((filename, extension), result) in tests.items(): assert replace_extension(filename, extension) == result