def _make_image_filename(self, filename, dirname, metadata): if config.setting["ascii_filenames"]: if isinstance(filename, unicode): filename = unaccent(filename) filename = replace_non_ascii(filename) if not filename: filename = "cover" if not os.path.isabs(filename): filename = os.path.join(dirname, filename) # replace incompatible characters if config.setting["windows_compatibility"] or sys.platform == "win32": filename = replace_win32_incompat(filename) # remove null characters filename = filename.replace("\x00", "") return encode_filename(filename)
def _script_to_filename(self, format, file_metadata, settings): metadata = Metadata() metadata.copy(file_metadata) # make sure every metadata can safely be used in a path name for name in metadata.keys(): if isinstance(metadata[name], basestring): metadata[name] = sanitize_filename(metadata[name]) format = format.replace("\t", "").replace("\n", "") filename = ScriptParser().eval(format, metadata, self) # replace incompatible characters if settings["windows_compatible_filenames"] or sys.platform == "win32": filename = replace_win32_incompat(filename) if settings["ascii_filenames"]: if isinstance(filename, unicode): filename = unaccent(filename) filename = replace_non_ascii(filename) return filename
def _script_to_filename(self, format, file_metadata, settings=config.setting): metadata = Metadata() if config.setting["clear_existing_tags"]: metadata.copy(file_metadata) else: metadata.copy(self.orig_metadata) metadata.update(file_metadata) # make sure every metadata can safely be used in a path name for name in metadata.keys(): if isinstance(metadata[name], basestring): metadata[name] = sanitize_filename(metadata[name]) format = format.replace("\t", "").replace("\n", "") filename = ScriptParser().eval(format, metadata, self) if settings["ascii_filenames"]: if isinstance(filename, unicode): filename = unaccent(filename) filename = replace_non_ascii(filename) # replace incompatible characters if settings["windows_compatibility"] or sys.platform == "win32": filename = replace_win32_incompat(filename) # remove null characters filename = filename.replace("\x00", "") return filename
def test_incorrect(self): self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš") self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")
def test_correct(self): self.assertEqual(util.replace_non_ascii(u"Lukáš"), u"Luk__") self.assertEqual(util.replace_non_ascii(u"Björk"), u"Bj_rk") self.assertEqual(util.replace_non_ascii(u"Trentemøller"), u"Trentem_ller") self.assertEqual(util.replace_non_ascii(u"小室哲哉"), u"____")
def test_incorrect(self): self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš") self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")
def test_correct(self): self.failUnlessEqual(util.replace_non_ascii(u"Lukáš"), u"Luk__") self.failUnlessEqual(util.replace_non_ascii(u"Björk"), u"Bj_rk") self.failUnlessEqual(util.replace_non_ascii(u"Trentemøller"), u"Trentem_ller") self.failUnlessEqual(util.replace_non_ascii(u"小室哲哉"), u"____")