本文整理汇总了Python中quodlibet.util.format_rating函数的典型用法代码示例。如果您正苦于以下问题:Python format_rating函数的具体用法?Python format_rating怎么用?Python format_rating使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了format_rating函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_blank_lengths
def test_blank_lengths(self):
"""Check that there are no unsuspected edge-cases
for various rating precisions"""
for self.r.number in [1, 5, 4, 3, 2]:
steps = self.r.number
self.failUnlessEqual(len(util.format_rating(1)), steps)
self.failUnlessEqual(len(util.format_rating(0)), steps)
self.failUnlessEqual(len(util.format_rating(0.5)), steps)
self.failUnlessEqual(len(util.format_rating(1 / 3.0)), steps)
开发者ID:brunob,项目名称:quodlibet,代码行数:9,代码来源:test_util.py
示例2: __init__
def __init__(self, *args, **kwargs):
super(RatingColumn, self).__init__("~rating", *args, **kwargs)
self.set_expand(False)
self.set_resizable(False)
width = self._cell_width(util.format_rating(1.0))
self.set_fixed_width(width)
self.set_min_width(width)
开发者ID:mistotebe,项目名称:quodlibet,代码行数:7,代码来源:songlistcolumns.py
示例3: __init__
def __init__(self, songs, library, label=_("_Rating")):
super(RatingsMenuItem, self).__init__(label=label, use_underline=True)
self._songs = songs
image = Gtk.Image.new_from_icon_name(Icons.FAVORITE, Gtk.IconSize.MENU)
image.show()
self.set_image(image)
submenu = Gtk.Menu()
self.set_submenu(submenu)
self._rating_menu_items = []
for i in RATINGS.all:
text = "%0.2f\t%s" % (i, util.format_rating(i))
itm = Gtk.CheckMenuItem(label=text)
itm.rating = i
submenu.append(itm)
handler = itm.connect(
'toggled', self._on_rating_change, i, library)
self._rating_menu_items.append((itm, handler))
reset = Gtk.MenuItem(label=_("_Remove Rating"), use_underline=True)
reset.connect('activate', self._on_rating_remove, library)
self._select_ratings()
submenu.append(SeparatorMenuItem())
submenu.append(reset)
submenu.show_all()
开发者ID:elfalem,项目名称:quodlibet,代码行数:25,代码来源:ratingsmenu.py
示例4: __init__
def __init__(self, songs, library, label=_("_Rating")):
super(RatingsMenuItem, self).__init__(label)
submenu = gtk.Menu()
self.set_submenu(submenu)
for i in range(0, int(1.0 / util.RATING_PRECISION) + 1):
i *= util.RATING_PRECISION
itm = gtk.MenuItem("%0.2f\t%s" % (i, util.format_rating(i)))
submenu.append(itm)
itm.connect_object('activate', self.set_rating, i, songs, library)
submenu.show_all()
开发者ID:silkecho,项目名称:glowing-silk,代码行数:10,代码来源:ratingsmenu.py
示例5: _cdf
def _cdf(self, column, cell, model, iter_, user_data):
song = model.get_value(iter_)
rating = song.get("~#rating")
default = config.RATINGS.default
if not self._needs_update((rating, default)):
return
cell.set_sensitive(rating is not None)
value = rating if rating is not None else default
cell.set_property('text', util.format_rating(value))
开发者ID:mistotebe,项目名称:quodlibet,代码行数:11,代码来源:songlistcolumns.py
示例6: test_numeric_funcs_text
def test_numeric_funcs_text(self):
songs = NUMERIC_SONGS
album = Album(songs[0])
album.songs = set(songs)
self.assertEqual(album("~length:sum"), "0:12")
self.assertEqual(album("~length:min"), "0:01")
self.assertEqual(album("~long-length:min"), "1 second")
self.assertEqual(album("~tracks:min"), "6 tracks")
self.assertEqual(album("~discs:min"), "2 discs")
self.assertEqual(album("~rating:min"), format_rating(0.1))
self.assertEqual(album("~filesize:min"), "0 B")
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:12,代码来源:test_util_collection.py
示例7: test_blank_values
def test_blank_values(self):
self.r.number = 5
self.r.blank_symbol = "0"
self.r.full_symbol = "1"
# Easy ones first
self.failUnlessEqual(util.format_rating(0.0), "00000")
self.failUnlessEqual(util.format_rating(0.2), "10000")
self.failUnlessEqual(util.format_rating(0.8), "11110")
self.failUnlessEqual(util.format_rating(1.0), "11111")
# A bit arbitrary, but standard behaviour
self.failUnlessEqual(util.format_rating(0.5), "11100")
# Test rounding down...
self.failUnlessEqual(util.format_rating(0.6), "11100")
# Test rounding up...
self.failUnlessEqual(util.format_rating(0.9), "11111")
# You never know...
self.failUnlessEqual(util.format_rating(3.0), "11111")
self.failUnlessEqual(util.format_rating(-0.5), "00000")
开发者ID:brunob,项目名称:quodlibet,代码行数:18,代码来源:test_util.py
示例8: __init__
def __init__(self, songs, library, label=_("_Rating")):
super(RatingsMenuItem, self).__init__(label=label, use_underline=True)
submenu = Gtk.Menu()
self.set_submenu(submenu)
for i in RATINGS.all:
itm = Gtk.MenuItem(label="%0.2f\t%s" % (i, util.format_rating(i)))
submenu.append(itm)
connect_obj(itm, 'activate', self.set_rating, i, songs, library)
reset = Gtk.MenuItem(label=_("_Remove rating"), use_underline=True)
connect_obj(reset, 'activate', self.remove_rating, songs, library)
submenu.append(SeparatorMenuItem())
submenu.append(reset)
submenu.show_all()
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:13,代码来源:ratingsmenu.py
示例9: __init__
def __init__(self, parent, action_title, count, value):
assert count > 1
title = (_("Are you sure you want to change the "
"rating of all %d songs?") % count)
desc = (_("The saved ratings will be removed") if value is None
else _("The rating of all selected songs will be changed to "
"'%s'") % util.format_rating(value))
super(ConfirmRateMultipleDialog, self).__init__(
Gtk.MessageType.WARNING, parent, title, desc, Gtk.ButtonsType.NONE)
self.add_button(_("_Cancel"), Gtk.ResponseType.CANCEL)
self.add_button(action_title, Gtk.ResponseType.YES)
开发者ID:hongquan,项目名称:quodlibet,代码行数:14,代码来源:ratingsmenu.py
示例10: __init__
def __init__(self, songs, library, label=_("_Rating")):
super(RatingsMenuItem, self).__init__(label=label, use_underline=True)
self.set_songs(songs)
submenu = Gtk.Menu()
self.set_submenu(submenu)
for i in RATINGS.all:
itm = Gtk.MenuItem(label="%0.2f\t%s" % (i, util.format_rating(i)))
submenu.append(itm)
itm.connect('activate', self._on_rating_change, i, library)
reset = Gtk.MenuItem(label=_("_Remove Rating"), use_underline=True)
reset.connect('activate', self._on_rating_remove, library)
submenu.append(SeparatorMenuItem())
submenu.append(reset)
submenu.show_all()
开发者ID:MikeiLL,项目名称:quodlibet,代码行数:16,代码来源:ratingsmenu.py
示例11: __init__
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_border_width(12)
self.set_title(_("Album List Preferences"))
self.set_default_size(420, 380)
self.set_transient_for(qltk.get_top_parent(browser))
# Do this config-driven setup at instance-time
self._PREVIEW_ITEM["~rating"] = format_rating(0.75)
box = Gtk.VBox(spacing=6)
vbox = Gtk.VBox(spacing=6)
cb = ConfigCheckButton(
_("Show album _covers"), "browsers", "album_covers")
cb.set_active(config.getboolean("browsers", "album_covers"))
cb.connect('toggled', lambda s: browser.toggle_covers())
vbox.pack_start(cb, False, True, 0)
cb = ConfigCheckButton(
_("Inline _search includes people"),
"browsers", "album_substrings")
cb.set_active(config.getboolean("browsers", "album_substrings"))
vbox.pack_start(cb, False, True, 0)
f = qltk.Frame(_("Options"), child=vbox)
box.pack_start(f, False, True, 12)
display_frame = self.edit_display_pane(browser, _("Album Display"))
box.pack_start(display_frame, True, True, 0)
main_box = Gtk.VBox(spacing=12)
close = Button(_("_Close"), Icons.WINDOW_CLOSE)
close.connect('clicked', lambda *x: self.destroy())
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(close, True, True, 0)
main_box.pack_start(box, True, True, 0)
self.use_header_bar()
if not self.has_close_button():
main_box.pack_start(b, False, True, 0)
self.add(main_box)
close.grab_focus()
self.show_all()
开发者ID:bernd-wechner,项目名称:quodlibet,代码行数:46,代码来源:prefs.py
示例12: __button_press
def __button_press(self, view, event, librarian):
if event.button != 1: return
x, y = map(int, [event.x, event.y])
try: path, col, cellx, celly = view.get_path_at_pos(x, y)
except TypeError: return True
if event.window != self.get_bin_window(): return False
if col.header_name == "~#rating":
if not config.getboolean("browsers", "rating_click"): return
song = view.get_model()[path][0]
l = gtk.Label()
l.set_text(util.format_rating(util.RATING_PRECISION))
width = l.size_request()[0]
l.destroy()
count = int(float(cellx - 5) / width) + 1
rating = max(0.0, min(1.0, count * util.RATING_PRECISION))
if (rating <= util.RATING_PRECISION and
song("~#rating") == util.RATING_PRECISION): rating = 0
self.__set_rating(rating, [song], librarian)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:19,代码来源:songlist.py
示例13: __call__
def __call__(self, key, default=u"", connector=" - ", joiner=', '):
"""Return the value(s) for a key, synthesizing if necessary.
Multiple values for a key are delimited by newlines.
A default value may be given (like `dict.get`);
the default default is an empty unicode string
(even if the tag is numeric).
If a tied tag ('a~b') is requested, the `connector` keyword
argument may be used to specify what it is tied with.
In case the tied tag contains numeric and file path tags, the result
will still be a unicode string.
The `joiner` keyword specifies how multiple *values* will be joined
within that tied tag output, e.g.
~people~title = "Kanye West, Jay Z - New Day"
For details on tied tags, see the documentation for `util.tagsplit`.
"""
if key[:1] == "~":
key = key[1:]
if "~" in key:
real_key = "~" + key
values = []
sub_tags = util.tagsplit(real_key)
# If it's genuinely a tied tag (not ~~people etc), we want
# to delimit the multi-values separately from the tying
j = joiner if len(sub_tags) > 1 else "\n"
for t in sub_tags:
vs = [decode_value(real_key, v) for v in (self.list(t))]
v = j.join(vs)
if v:
values.append(v)
return connector.join(values) or default
elif key == "#track":
try:
return int(self["tracknumber"].split("/")[0])
except (ValueError, TypeError, KeyError):
return default
elif key == "#disc":
try:
return int(self["discnumber"].split("/")[0])
except (ValueError, TypeError, KeyError):
return default
elif key == "length":
length = self.get("~#length")
if length is None:
return default
else:
return util.format_time_display(length)
elif key == "#rating":
return dict.get(self, "~" + key, config.RATINGS.default)
elif key == "rating":
return util.format_rating(self("~#rating"))
elif key == "people":
return "\n".join(self.list_unique(PEOPLE)) or default
elif key == "people:real":
# Issue 1034: Allow removal of V.A. if others exist.
unique = self.list_unique(PEOPLE)
# Order is important, for (unlikely case): multiple removals
for val in VARIOUS_ARTISTS_VALUES:
if len(unique) > 1 and val in unique:
unique.remove(val)
return "\n".join(unique) or default
elif key == "people:roles":
return (self._role_call("performer", PEOPLE)
or default)
elif key == "peoplesort":
return ("\n".join(self.list_unique(PEOPLE_SORT)) or
self("~people", default, connector))
elif key == "peoplesort:roles":
# Ignores non-sort tags if there are any sort tags (e.g. just
# returns "B" for {artist=A, performersort=B}).
# TODO: figure out the "correct" behavior for mixed sort tags
return (self._role_call("performersort", PEOPLE_SORT)
or self("~peoplesort", default, connector))
elif key in ("performers", "performer"):
return self._prefixvalue("performer") or default
elif key in ("performerssort", "performersort"):
return (self._prefixvalue("performersort") or
self("~" + key[-4:], default, connector))
elif key in ("performers:roles", "performer:roles"):
return (self._role_call("performer") or default)
elif key in ("performerssort:roles", "performersort:roles"):
return (self._role_call("performersort")
or self("~" + key.replace("sort", ""), default,
connector))
elif key == "basename":
return os.path.basename(self["~filename"]) or self["~filename"]
elif key == "dirname":
return os.path.dirname(self["~filename"]) or self["~filename"]
elif key == "uri":
try:
return self["~uri"]
except KeyError:
return fsn2uri(self["~filename"])
elif key == "format":
return self.get("~format", text_type(self.format))
elif key == "codec":
codec = self.get("~codec")
#.........这里部分代码省略.........
开发者ID:elfalem,项目名称:quodlibet,代码行数:101,代码来源:_audio.py
示例14: test_rating_length
def test_rating_length(self):
config.RATINGS.number = 4
for i in range(0, int(1 / self.r.precision + 1)):
self.failUnlessEqual(
i, len(util.format_rating(i * self.r.precision, blank=False)))
开发者ID:brunob,项目名称:quodlibet,代码行数:5,代码来源:test_util.py
示例15: test_full
def test_full(self):
self.failUnlessEqual(
len(util.format_rating(1, blank=False)),
int(1 / self.r.precision))
开发者ID:brunob,项目名称:quodlibet,代码行数:4,代码来源:test_util.py
示例16: test_empty
def test_empty(self):
self.failUnlessEqual(util.format_rating(0, blank=False), "")
开发者ID:brunob,项目名称:quodlibet,代码行数:2,代码来源:test_util.py
示例17: _popup_menu
def _popup_menu(self, icon, button, time):
if self.__destroy_win32_menu():
return
self.__menu = menu = Gtk.Menu()
player = app.player
window = app.window
if player.paused:
playpause = MenuItem(_("_Play"), Icons.MEDIA_PLAYBACK_START)
else:
playpause = MenuItem(_("P_ause"), Icons.MEDIA_PLAYBACK_PAUSE)
playpause.connect('activate', self.__play_pause)
previous = MenuItem(_("Pre_vious"), Icons.MEDIA_SKIP_BACKWARD)
previous.connect('activate', lambda *args: player.previous())
next = MenuItem(_("_Next"), Icons.MEDIA_SKIP_FORWARD)
next.connect('activate', lambda *args: player.next())
orders = Gtk.MenuItem(label=_("Play _Order"), use_underline=True)
repeat = Gtk.CheckMenuItem(label=_("_Repeat"), use_underline=True)
repeat.set_active(window.repeat.get_active())
repeat.connect('toggled',
lambda s: window.repeat.set_active(s.get_active()))
def set_safter(widget, safter_action):
safter_action.set_active(widget.get_active())
safter_action = app.window.stop_after
safter = Gtk.CheckMenuItem(label=_("Stop _after this song"),
use_underline=True)
safter.set_active(safter_action.get_active())
safter.connect('toggled', set_safter, safter_action)
def set_order(widget, order):
name = order.name
try:
window.order.set_active_by_name(name)
except ValueError:
pass
order_items = []
item = None
active_order = window.order.get_active()
for Kind in ORDERS:
item = RadioMenuItem(
group=item,
label=Kind.accelerated_name,
use_underline=True)
order_items.append(item)
if Kind is active_order:
item.set_active(True)
item.connect('toggled', set_order, Kind)
order_sub = Gtk.Menu()
order_sub.append(repeat)
order_sub.append(safter)
order_sub.append(SeparatorMenuItem())
for item in order_items:
order_sub.append(item)
orders.set_submenu(order_sub)
browse = qltk.MenuItem(_("_Browse Library"), Icons.EDIT_FIND)
browse_sub = Gtk.Menu()
for Kind in browsers.browsers:
if Kind.is_empty:
continue
i = Gtk.MenuItem(label=Kind.accelerated_name, use_underline=True)
connect_obj(i,
'activate', LibraryBrowser.open, Kind, app.library, app.player)
browse_sub.append(i)
browse.set_submenu(browse_sub)
props = qltk.MenuItem(_("Edit _Tags"), Icons.DOCUMENT_PROPERTIES)
props.connect('activate', self.__properties)
info = MenuItem(_("_Information"), Icons.DIALOG_INFORMATION)
info.connect('activate', self.__information)
def set_rating(value):
song = player.song
if song is None:
return
else:
song["~#rating"] = value
app.librarian.changed([song])
rating = Gtk.MenuItem(label=_("_Rating"), use_underline=True)
rating_sub = Gtk.Menu()
for r in RATINGS.all:
item = Gtk.MenuItem(label="%0.2f\t%s" % (r, util.format_rating(r)))
connect_obj(item, 'activate', set_rating, r)
rating_sub.append(item)
rating.set_submenu(rating_sub)
quit = MenuItem(_("_Quit"), Icons.APPLICATION_EXIT)
#.........这里部分代码省略.........
开发者ID:vrasidas,项目名称:quodlibet,代码行数:101,代码来源:trayicon.py
示例18: __init__
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_border_width(12)
self.set_title(_("Album List Preferences") + " - Quod Libet")
self.set_default_size(420, 380)
self.set_transient_for(qltk.get_top_parent(browser))
# Do this config-driven setup at instance-time
self._EXAMPLE_ALBUM["~rating"] = format_rating(0.75)
box = Gtk.VBox(spacing=6)
vbox = Gtk.VBox(spacing=6)
cb = ConfigCheckButton(
_("Show album _covers"), "browsers", "album_covers")
cb.set_active(config.getboolean("browsers", "album_covers"))
cb.connect('toggled', lambda s: browser.toggle_covers())
vbox.pack_start(cb, False, True, 0)
cb = ConfigCheckButton(
_("Inline _search includes people"),
"browsers", "album_substrings")
cb.set_active(config.getboolean("browsers", "album_substrings"))
vbox.pack_start(cb, False, True, 0)
f = qltk.Frame(_("Options"), child=vbox)
box.pack_start(f, False, True, 12)
vbox = Gtk.VBox(spacing=6)
label = Gtk.Label()
label.set_alignment(0.0, 0.5)
label.set_padding(6, 6)
eb = Gtk.EventBox()
eb.get_style_context().add_class("entry")
eb.add(label)
edit = PatternEditBox(PATTERN)
edit.text = browser._pattern_text
edit.apply.connect('clicked', self.__set_pattern, edit, browser)
connect_obj(
edit.buffer, 'changed', self.__preview_pattern, edit, label)
vbox.pack_start(eb, False, True, 3)
vbox.pack_start(edit, True, True, 0)
self.__preview_pattern(edit, label)
f = qltk.Frame(_("Album Display"), child=vbox)
box.pack_start(f, True, True, 0)
main_box = Gtk.VBox(spacing=12)
close = Button(_("_Close"), Icons.WINDOW_CLOSE)
close.connect('clicked', lambda *x: self.destroy())
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(close, True, True, 0)
main_box.pack_start(box, True, True, 0)
self.use_header_bar()
if not self.has_close_button():
main_box.pack_start(b, False, True, 0)
self.add(main_box)
close.grab_focus()
self.show_all()
开发者ID:akdor1154,项目名称:quodlibet,代码行数:63,代码来源:prefs.py
示例19: __init__
def __init__(self):
super(SongList.RatingColumn, self).__init__("~#rating")
self._update_layout(util.format_rating(1.0))
self.set_resizable(False)
self.set_expand(False)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:5,代码来源:songlist.py
示例20: _cdf
def _cdf(self, column, cell, model, iter, tag):
value = model[iter][0].get("~#rating", const.DEFAULT_RATING)
if not self._needs_update(value): return
cell.set_property('text', util.format_rating(value))
开发者ID:silkecho,项目名称:glowing-silk,代码行数:4,代码来源:songlist.py
注:本文中的quodlibet.util.format_rating函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论