示例#1
0
文件: metadata.py 项目: queer1/picard
 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)
示例#2
0
 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
示例#3
0
 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
示例#4
0
文件: file.py 项目: TushRaj/picard
 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
示例#5
0
 def test_incorrect(self):
     self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš")
     self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")
示例#6
0
 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"____")
示例#7
0
 def test_incorrect(self):
     self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš")
     self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")
示例#8
0
 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"____")
示例#9
0
 def test_incorrect(self):
     self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš")
     self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")
示例#10
0
 def test_incorrect(self):
     self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš")
     self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")