本文整理汇总了Python中quodlibet.util.format_time函数的典型用法代码示例。如果您正苦于以下问题:Python format_time函数的具体用法?Python format_time怎么用?Python format_time使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了format_time函数的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: MenuItems
def MenuItems(marks, player, seekable):
sizes = Gtk.SizeGroup(mode=Gtk.SizeGroupMode.HORIZONTAL)
items = []
if not marks or marks[0][0] != 0:
# Translators: Refers to the beginning of the playing song.
marks.insert(0, (0, _("Beginning")))
for time, mark in marks:
i = Gtk.MenuItem()
# older pygobject (~3.2) added a child on creation
if i.get_child():
i.remove(i.get_child())
connect_obj(i, 'activate', player.seek, time * 1000)
i.set_sensitive(time >= 0 and seekable)
hbox = Gtk.HBox(spacing=12)
i.add(hbox)
if time < 0:
l = Gtk.Label(label=_("N/A"))
else:
l = Gtk.Label(label=util.format_time(time))
l.set_alignment(0.0, 0.5)
sizes.add_widget(l)
hbox.pack_start(l, False, True, 0)
text = Gtk.Label(mark)
text.set_max_width_chars(80)
text.set_ellipsize(Pango.EllipsizeMode.END)
text.set_alignment(0.0, 0.5)
hbox.pack_start(text, True, True, 0)
i.show_all()
items.append(i)
return items
开发者ID:LudoBike,项目名称:quodlibet,代码行数:30,代码来源:bookmarks.py
示例2: step
def step(self, **values):
"""Advance the counter by one. Arguments are applied to the
originally-supplied text as a format string.
This function doesn't return if the dialog is paused (though
the GTK main loop will still run), and returns True if stop
was pressed.
"""
if self.count:
self.current += 1
self._progress.set_fraction(max(0, min(1, self.current / float(self.count))))
else:
self._progress.pulse()
values.setdefault("total", self.count)
values.setdefault("current", self.current)
if self.count:
t = (time.time() - self._start_time) / self.current
remaining = math.ceil((self.count - self.current) * t)
values.setdefault("remaining", util.format_time(remaining))
self._label.set_markup(self._text % values)
while not self.quit and (self.paused or gtk.events_pending()):
gtk.main_iteration()
return self.quit
开发者ID:silkecho,项目名称:glowing-silk,代码行数:25,代码来源:wlw.py
示例3: __set_bookmarks
def __set_bookmarks(self, marks):
result = []
for time, mark in marks:
if time < 0: raise ValueError("mark times must be positive")
result.append(u"%s %s" % (util.format_time(time), mark))
result = u"\n".join(result)
if result: self["~bookmark"] = result
elif "~bookmark" in self: del(self["~bookmark"])
开发者ID:silkecho,项目名称:glowing-silk,代码行数:8,代码来源:_audio.py
示例4: __update_count
def __update_count(self, model, path, lab):
if len(model) == 0: text = ""
else:
time = sum([row[0].get("~#length", 0) for row in model])
text = ngettext("%(count)d song (%(time)s)",
"%(count)d songs (%(time)s)",
len(model)) % {
"count": len(model), "time": util.format_time(time) }
lab.set_text(text)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:9,代码来源:queue.py
示例5: __init__
def __init__(self, parent, library, player):
super(EditBookmarks, self).__init__()
self.set_transient_for(qltk.get_top_parent(parent))
self.set_border_width(12)
self.set_default_size(350, 250)
self.set_title(_("Bookmarks") + " - %s" % player.song.comma("title"))
pane = EditBookmarksPane(library, player.song, close=True)
self.add(pane)
s = library.connect('removed', self.__check_lock, player.song)
connect_obj(self, 'destroy', library.disconnect, s)
position = player.get_position() // 1000
pane.time.set_text(util.format_time(position))
pane.markname.grab_focus()
pane.close.connect('clicked', lambda *x: self.destroy())
self.get_child().show_all()
开发者ID:LudoBike,项目名称:quodlibet,代码行数:19,代码来源:bookmarks.py
示例6: __init__
def __init__(self, parent, library, player):
super(EditBookmarks, self).__init__()
self.set_transient_for(qltk.get_top_parent(parent))
self.set_border_width(12)
self.set_default_size(350, 250)
self.set_title(_("Bookmarks") + " - %s" % player.song.comma("title"))
self.add(EditBookmarksPane(library, player.song, close=True))
s = library.connect("removed", self.__check_lock, player.song)
self.connect_object("destroy", library.disconnect, s)
position = player.get_position() // 1000
self.child.time.set_text(util.format_time(position))
self.child.markname.grab_focus()
self.child.close.connect_object("clicked", qltk.Window.destroy, self)
self.show_all()
开发者ID:silkecho,项目名称:glowing-silk,代码行数:19,代码来源:bookmarks.py
示例7: __preview_pattern
def __preview_pattern(self, edit, label):
people = "\n".join(
[util.tag("artist"), util.tag("performer"), util.tag("arranger")])
album = FakeAlbum({"date": "2004-10-31",
"~length": util.format_time(6319),
"~long-length": util.format_time_long(6319),
"~tracks": ngettext("%d track", "%d tracks", 5) % 5,
"~discs": ngettext("%d disc", "%d discs", 2) % 2,
"~people": people})
try: text = XMLFromPattern(edit.text) % album
except:
text = _("Invalid pattern")
edit.apply.set_sensitive(False)
try: pango.parse_markup(text, u"\u0000")
except gobject.GError:
text = _("Invalid pattern")
edit.apply.set_sensitive(False)
else: edit.apply.set_sensitive(True)
label.set_markup(text)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:20,代码来源:albums.py
示例8: MenuItems
def MenuItems(marks, player, seekable):
sizes = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
items = []
if not marks or marks[0][0] != 0:
# Translators: Refers to the beginning of the playing song.
marks.insert(0, (0, _("Beginning")))
for time, mark in marks:
i = gtk.MenuItem()
i.connect_object("activate", player.seek, time * 1000)
i.set_sensitive(time >= 0 and seekable)
i.add(gtk.HBox(spacing=12))
if time < 0:
l = gtk.Label(_("N/A"))
else:
l = gtk.Label(util.format_time(time))
l.set_alignment(0.0, 0.5)
sizes.add_widget(l)
i.child.pack_start(l, expand=False)
m = gtk.Label(mark)
m.set_alignment(0.0, 0.5)
i.child.pack_start(m)
i.show_all()
items.append(i)
return items
开发者ID:silkecho,项目名称:glowing-silk,代码行数:24,代码来源:bookmarks.py
示例9: __get_value
def __get_value(self, key):
"""This is similar to __call__ in the AudioFile class.
All internal tags are changed to represent a collection of songs.
"""
# Using key:<func> runs the resulting list of values
# through the function before returning it.
# Numeric keys without a func will default to a reasonable function
if key.startswith("~#"):
key = key[2:]
if key[-4:-3] == ":":
func = key[-3:]
key = key[:-4]
elif key == "tracks":
return len(self.songs)
elif key == "discs":
return len(set([song("~#disc", 1) for song in self.songs]))
elif key == "bitrate":
length = self.__get_value("~#length")
if not length: return 0
w = lambda s: s("~#bitrate", 0) * s("~#length", 0)
return sum(w(song) for song in self.songs) / length
elif key in NUM_DEFAULT_FUNCS:
func = NUM_DEFAULT_FUNCS[key]
else:
#Unknown key. AudioFile will try to cast the values to int,
#default to avg
func = "avg"
key = "~#" + key
func = NUM_FUNCS.get(func)
if func:
#if none of the songs can return a numeric key
#the album returns default
values = (song(key) for song in self.songs)
values = [v for v in values if v != ""]
if values: return func(values)
else: return None
elif key in INTERN_NUM_DEFAULT:
return 0
return None
elif key[:1] == "~":
key = key[1:]
keys = {"people": {}, "peoplesort": {}}
if key in keys:
people = keys["people"]
peoplesort = keys["peoplesort"]
for song in self.songs:
# Rank people by "relevance" -- artists before composers
# before performers, then by number of appearances.
for w, k in enumerate(ELPOEP):
persons = song.list(k)
for person in persons:
people[person] = (people.get(person, 0) -
PEOPLE_SCORE[w])
if k in TAG_TO_SORT:
persons = song.list(TAG_TO_SORT[k]) or persons
for person in persons:
peoplesort[person] = (peoplesort.get(person, 0) -
PEOPLE_SCORE[w])
#It's cheaper to get people and peoplesort in one go
keys["people"] = sorted(people.keys(),
key=people.__getitem__)[:100]
keys["peoplesort"] = sorted(peoplesort.keys(),
key=peoplesort.__getitem__)[:100]
ret = keys.pop(key)
ret = (ret and "\n".join(ret)) or None
other, values = keys.popitem()
other = "~" + other
if not values:
self.__default.add(other)
else:
if other in self.__used:
self.__used.remove(other)
self.__used.append(other)
self.__cache[other] = "\n".join(values)
return ret
elif key == "length":
length = self.__get_value("~#length")
if length is None: return None
return util.format_time(length)
elif key == "long-length":
length = self.__get_value("~#length")
if length is None: return None
return util.format_time_long(length)
elif key == "tracks":
tracks = self.__get_value("~#tracks")
if tracks is None: return None
return ngettext("%d track", "%d tracks", tracks) % tracks
elif key == "discs":
discs = self.__get_value("~#discs")
if discs > 1:
return ngettext("%d disc", "%d discs", discs) % discs
else: return None
elif key == "rating":
#.........这里部分代码省略.........
开发者ID:silkecho,项目名称:glowing-silk,代码行数:101,代码来源:collection.py
示例10: test_roundtrip
def test_roundtrip(self):
# The values are the ones tested for Tformat_time, so we know they
# will be formatted correctly. They're also representative of
# all the major patterns.
for i in [0, 59, 60, 60 * 59 + 59, 60 * 60, 60 * 60 + 60 * 59 + 59]:
self.failUnlessEqual(util.parse_time(util.format_time(i)), i)
开发者ID:brunob,项目名称:quodlibet,代码行数:6,代码来源:test_util.py
示例11: test_negative
def test_negative(self):
self.failUnlessEqual(util.format_time(-124), "-2:04")
开发者ID:brunob,项目名称:quodlibet,代码行数:2,代码来源:test_util.py
示例12: test_hourss
def test_hourss(self):
self.failUnlessEqual(util.format_time(60 * 60), "1:00:00")
self.failUnlessEqual(
util.format_time(60 * 60 + 60 * 59 + 59), "1:59:59")
开发者ID:brunob,项目名称:quodlibet,代码行数:4,代码来源:test_util.py
示例13: test_minutes
def test_minutes(self):
self.failUnlessEqual(util.format_time(60), "1:00")
self.failUnlessEqual(util.format_time(60 * 59 + 59), "59:59")
开发者ID:brunob,项目名称:quodlibet,代码行数:3,代码来源:test_util.py
示例14: __call__
def __call__(self, key, default=u"", connector=" - "):
"""Return a key, synthesizing it if necessary. 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.
For details on tied tags, see the documentation for util.tagsplit."""
if key[:1] == "~":
key = key[1:]
if "~" in key:
# FIXME: decode ~filename etc.
if not isinstance(default, basestring): return default
return connector.join(
filter(None,
map(lambda x: isinstance(x, basestring) and x or str(x),
map(lambda x: (isinstance(x, float) and "%.2f" % x) or x,
map(self.__call__, util.tagsplit("~" + key)))))) 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(length)
elif key == "#rating":
return dict.get(self, "~" + key, const.DEFAULT_RATING)
elif key == "rating":
return util.format_rating(self("~#rating"))
elif key == "people":
join = "\n".join
people = filter(None, map(self.__call__, PEOPLE))
if not people: return default
people = join(people).split("\n")
index = people.index
return join([person for (i, person) in enumerate(people)
if index(person) == i])
elif key == "peoplesort":
join = "\n".join
people = filter(None, map(self.__call__, PEOPLE_SORT))
people = join(people).split("\n")
index = people.index
return (join([person for (i, person) in enumerate(people)
if index(person) == i]) or
self("~people", default, connector))
elif key == "performers" or key == "performer":
performers = {}
for key in self.keys():
if key.startswith("performer:"):
role = key.split(":", 1)[1]
for value in self.list(key):
try:
performers[str(value)]
except:
performers[str(value)] = []
performers[str(value)].append(util.title(role))
values = []
if len(performers) > 0:
for performer in performers:
roles = ''
i = 0
for role in performers[performer]:
if i > 0:
roles += ', '
roles += role
i += 1
values.append("%s (%s)" % (performer, roles))
values.extend(self.list("performer"))
if not values: return default
return "\n".join(values)
elif key == "performerssort" or key == "performersort":
values = []
for key in self.keys():
if key.startswith("performersort:"):
role = key.split(":", 1)[1]
for value in self.list(key):
values.append("%s (%s)" % (value, role))
values.extend(self.list("performersort"))
return ("\n".join(values) or
self("~performers", 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 URI.frompath(self["~filename"])
elif key == "format":
return self.get("~format", self.format)
elif key == "year":
return self.get("date", default)[:4]
elif key == "#year":
try: return int(self.get("date", default)[:4])
except (ValueError, TypeError, KeyError): return default
#.........这里部分代码省略.........
开发者ID:silkecho,项目名称:glowing-silk,代码行数:101,代码来源:_audio.py
示例15: _cdf
def _cdf(self, column, cell, model, iter, tag):
value = model[iter][0].get("~#length", 0)
if not self._needs_update(value): return
text = util.format_time(value)
cell.set_property('text', text)
self._update_layout(text, cell)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:6,代码来源:songlist.py
示例16: __update_time
def __update_time(self, scale, timer):
value = scale.get_value()
max = scale.get_adjustment().upper
value -= self.__remaining.get_active() * max
timer.set_text(util.format_time(value))
开发者ID:silkecho,项目名称:glowing-silk,代码行数:5,代码来源:controls.py
示例17: cdf
def cdf(column, cell, model, iter, data):
if model[iter][0] < 0:
cell.set_property('text', _("N/A"))
else:
cell.set_property('text', util.format_time(model[iter][0]))
开发者ID:LudoBike,项目名称:quodlibet,代码行数:5,代码来源:bookmarks.py
示例18: test_seconds
def test_seconds(self):
self.failUnlessEqual(util.format_time(0), "0:00")
self.failUnlessEqual(util.format_time(59), "0:59")
开发者ID:brunob,项目名称:quodlibet,代码行数:3,代码来源:test_util.py
注:本文中的quodlibet.util.format_time函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论