def get_sort_tag(tag): """Returns a tag that can be used for sorting for the given column tag. Returns '' if the default sort key should be used. """ replace_order = {"~#track": "", "~#disc": "", "~length": "~#length"} if tag == "~title~version": tag = "title" elif tag == "~album~discsubtitle": tag = "album" if "<" in tag: for key, value in replace_order.iteritems(): tag = tag.replace("<%s>" % key, "<%s>" % value) for key, value in TAG_TO_SORT.iteritems(): tag = tag.replace("<%s>" % key, "<{1}|<{1}>|<{0}>>".format(key, value)) tag = Pattern(tag).format else: tags = util.tagsplit(tag) sort_tags = [] for tag in tags: tag = replace_order.get(tag, tag) tag = TAG_TO_SORT.get(tag, tag) if tag not in sort_tags: sort_tags.append(tag) if len(sort_tags) > 1: tag = "~" + "~".join(sort_tags) return tag
def get_sort_tag(tag): """Returns a tag that can be used for sorting for the given column tag. Returns '' if the default sort key should be used. """ replace_order = {"~#track": "", "~#disc": "", "~length": "~#length"} if tag == "~title~version": tag = "title" elif tag == "~album~discsubtitle": tag = "album" if tag.startswith("<"): for key, value in replace_order.iteritems(): tag = tag.replace("<%s>" % key, "<%s>" % value) for key, value in TAG_TO_SORT.iteritems(): tag = tag.replace("<%s>" % key, "<{1}|<{1}>|<{0}>>".format(key, value)) tag = Pattern(tag).format else: tags = util.tagsplit(tag) sort_tags = [] for tag in tags: tag = replace_order.get(tag, tag) tag = TAG_TO_SORT.get(tag, tag) if tag not in sort_tags: sort_tags.append(tag) if len(sort_tags) > 1: tag = "~" + "~".join(sort_tags) return tag
def __get_sort_tag(self, tag): replace_order = { "~#track": "", "~#disc": "", "~length": "~#length" } if tag == "~title~version": tag = "title" elif tag == "~album~discsubtitle": tag = "album" if tag.startswith("<"): for key, value in replace_order.iteritems(): tag = tag.replace("<%s>" % key, "<%s>" % value) tag = Pattern(tag).format else: tags = util.tagsplit(tag) sort_tags = [] for tag in tags: tag = replace_order.get(tag, tag) tag = TAG_TO_SORT.get(tag, tag) if tag not in sort_tags: sort_tags.append(tag) if len(sort_tags) > 1: tag = "~" + "~".join(sort_tags) return tag
def __get_sort_tag(self, tag): replace_order = { "~#track": "", "~#disc": "", "~length": "~#length" } if tag == "~title~version": tag = "title" elif tag == "~album~discsubtitle": tag = "album" if tag.startswith("<"): for key, value in replace_order.iteritems(): tag = tag.replace("<%s>" % key, "<%s>" % value) tag = Pattern(tag).format else: tags = util.tagsplit(tag) sort_tags = [] for tag in tags: tag = replace_order.get(tag, tag) tag = TAG_TO_SORT.get(tag, tag) if tag not in sort_tags: sort_tags.append(tag) if len(sort_tags) > 1: tag = "~" + "~".join(sort_tags) return tag