def test_custom_subtag_splitter(self): self.failUnlessEqual( split_title("foo |b c|", " ", ["||"]), ("foo", ["b", "c"])) self.failUnlessEqual( split_title("foo abc", " ", ["ac"]), ("foo", ["b"])) self.failUnlessEqual( split_title("foo (a)", " ", []), ("foo (a)", []))
def __init__(self, tag, value): super(SplitTitle, self).__init__( label=_("Split _Version out of Title"), use_underline=True) self.set_image(Gtk.Image.new_from_icon_name( Icons.EDIT_FIND_REPLACE, Gtk.IconSize.MENU)) spls = config.gettext("editing", "split_on").split() self.set_sensitive(bool(split_title(value, spls)[1]))
def __init__(self, tag, value): super(SplitTitle, self).__init__( label=_("Split _Version out of Title"), use_underline=True) self.set_image(Gtk.Image.new_from_stock( Gtk.STOCK_FIND_AND_REPLACE, Gtk.IconSize.MENU)) spls = config.get("editing", "split_on").decode( 'utf-8', 'replace').split() self.set_sensitive(bool(split_title(value, spls)[1]))
def __init__(self, tag, value): super(SplitTitle, self).__init__(label=_("Split _Version out of Title"), use_underline=True) self.set_image( Gtk.Image.new_from_icon_name(Icons.EDIT_FIND_REPLACE, Gtk.IconSize.MENU)) spls = config.gettext("editing", "split_on").split() self.set_sensitive(bool(split_title(value, spls)[1]))
def plugin_song(self, song): if has_title_splittable(song): title, versions = split_title(song["title"]) if title: song["title"] = title if versions: song["version"] = "\n".join(versions) if has_album_splittable(song): album, disc = split_album(song["album"]) if album: song["album"] = album if disc: song["discnumber"] = disc
def plugin_song(self, song): if ("title" in song and song.can_change("title") and song.can_change("version")): title, versions = split_title(song["title"]) if title: song["title"] = title if versions: song["version"] = "\n".join(versions) if ("album" in song and "discnumber" not in song and song.can_change("album") and song.can_change("discnumber")): album, disc = split_album(song["album"]) if album: song["album"] = album if disc: song["discnumber"] = disc
def plugin_song(self, song): if ("title" in song and song.can_change("title") and song.can_change("version")): title, versions = split_title(song["title"]) if title: song["title"] = title if versions: song["version"] = "\n".join(versions) if ("album" in song and "discnumber" not in song and song.can_change("album") and song.can_change("discnumber")): album, disc = split_album(song["album"]) if album: song["album"] = album if disc: song["discnumber"] = disc
def __init__(self, tag, value): super().__init__( label=_("Split _Version out of Title"), use_underline=True) self.set_image(Gtk.Image.new_from_icon_name( Icons.EDIT_FIND_REPLACE, Gtk.IconSize.MENU)) tag_spls = config.gettext("editing", "split_on").split() sub_spls = config.gettext("editing", "sub_split_on").split() title, versions = split_title(value, tag_spls, sub_spls) if versions: title = title if len(title) <= 64 else title[:64] + "…" versions = [ver if len(ver) <= 64 else ver[:64] + "…" for ver in versions] string = (", ".join(["{}={}".format(tag, title)] + ["{}={}".format(self.needs[0], ver) for ver in versions])) self.set_label(string) self.set_sensitive(bool(versions))
def test_simple(self): self.failUnlessEqual(split_title("foo (baz)"), ("foo", ["baz"]))
def test_prefix_and_version(self): self.failUnlessEqual(split_title("~foo ~bar~"), ("~foo", ["bar"]))
def test_prefix_and_trailing(self): self.failUnlessEqual(split_title("~foo ~"), ("~foo ~", []))
def test_prefixed(self): self.failUnlessEqual(split_title("~foo "), ("~foo ", []))
def test_trailing(self): self.failUnlessEqual(split_title("foo ~"), ("foo ~", []))
def test_simple(self): self.failUnlessEqual(split_title("foo (baz)"), ("foo", ["baz"]))
def test_prefix_and_trailing(self): self.failUnlessEqual(split_title("~foo ~"), ("~foo ~", []))
def activated(self, tag, value): spls = config.get("editing", "split_on").decode( 'utf-8', 'replace').split() title, versions = split_title(value, spls) return [(tag, title)] + [("version", v) for v in versions]
def test_custom_splitter(self): self.failUnlessEqual( split_title("foo [b c]", " "), ("foo", ["b", "c"]))
def test_two_versions(self): self.failUnlessEqual( split_title("foo [b, c]"), ("foo", ["b", "c"]))
def test_two_versions(self): self.failUnlessEqual(split_title("foo [b, c]"), ("foo", ["b", "c"]))
def activated(self, tag, value): tag_spls = config.gettext("editing", "split_on").split() sub_spls = config.gettext("editing", "sub_split_on").split() title, versions = split_title(value, tag_spls, sub_spls) return [(tag, title)] + [("version", v) for v in versions]
def test_custom_splitter(self): self.failUnlessEqual(split_title("foo [b c]", " "), ("foo", ["b", "c"]))
def test_prefixed(self): self.failUnlessEqual(split_title("~foo "), ("~foo ", []))
def activated(self, tag, value): spls = config.gettext("editing", "split_on").split() title, versions = split_title(value, spls) return [(tag, title)] + [("version", v) for v in versions]
def test_prefix_and_version(self): self.failUnlessEqual(split_title("~foo ~bar~"), ("~foo", ["bar"]))
def activated(self, tag, value): spls = config.get("editing", "split_on").decode('utf-8', 'replace').split() title, versions = split_title(value, spls) return [(tag, title)] + [("version", v) for v in versions]
def test_trailing(self): self.failUnlessEqual(split_title("foo ~"), ("foo ~", []))