本文整理汇总了Python中xl.nls._函数的典型用法代码示例。如果您正苦于以下问题:Python _函数的具体用法?Python _怎么用?Python _使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: Query
def Query(self):
"""
Returns information about the currently playing track
:returns: information about the current track
:rtype: string
"""
status = self.__get_playback_status()
if status.current is None or status.state == "stopped":
return _('Not playing.')
result = _('status: %(status)s, title: %(title)s, artist: %(artist)s,'
' album: %(album)s, length: %(length)s,'
' position: %(progress)s%% [%(position)s]') % {
'status': status.state,
'title': status.current["title"],
'artist': status.current["artist"],
'album': status.current["album"],
'length': status.current["__length"],
'progress': status.progress,
'position': status.position,
}
return result
开发者ID:BlubberHarpoonist,项目名称:exaile,代码行数:25,代码来源:xldbus.py
示例2: _load_playlists
def _load_playlists(self):
"""
Loads the currently saved playlists
"""
self.smart = self.model.append(None, [self.folder,
_("Smart Playlists"), None])
self.custom = self.model.append(None, [self.folder,
_("Custom Playlists"), None])
names = self.smart_manager.playlists[:]
names.sort()
for name in names:
self.model.append(self.smart, [self.playlist_image, name,
self.smart_manager.get_playlist(name)])
names = self.playlist_manager.playlists[:]
names.sort()
for name in names:
playlist = self.playlist_manager.get_playlist(name)
self.playlist_nodes[playlist] = self.model.append(
self.custom, [self.playlist_image, name, playlist])
self._load_playlist_nodes(playlist)
self.tree.expand_row(self.model.get_path(self.smart), False)
self.tree.expand_row(self.model.get_path(self.custom), False)
开发者ID:BlubberHarpoonist,项目名称:exaile,代码行数:26,代码来源:playlists.py
示例3: factory
def factory(self, menu, parent, context):
"""
Sets up the menu item
"""
item = Gtk.ImageMenuItem.new_with_mnemonic(_('_Love This Track'))
item.set_image(Gtk.Image.new_from_icon_name('love', Gtk.IconSize.MENU))
if self.get_tracks_function is not None:
tracks = self.get_tracks_function()
empty = len(tracks) == 0
else:
empty = context.get('selection-empty', True)
if not empty:
tracks = context.get('selected-tracks', [])
if not empty and self.__lastfmlover.network is not None:
# We only care about the first track
track = tracks[0]
lastfm_track = pylast.Track(
track.get_tag_display('artist'),
track.get_tag_display('title'),
self.__lastfmlover.network,
)
if lastfm_track in self.__lastfmlover.loved_tracks:
item.set_label(_('Unlove This Track'))
item.connect('activate', self.on_activate, track)
else:
item.set_sensitive(False)
return item
开发者ID:exaile,项目名称:exaile,代码行数:32,代码来源:__init__.py
示例4: set_pixbuf
def set_pixbuf(self, pixbuf, mime=None):
"""
Updates the displayed cover image and info values
"""
self.pixbuf = pixbuf
if pixbuf is None:
self.image.set_from_icon_name('list-add', Gtk.IconSize.DIALOG)
self.info_label.set_markup('')
else:
self.image.set_from_pixbuf(pixbuf.scale_simple(
100, 100, GdkPixbuf.InterpType.BILINEAR))
width, height = pixbuf.get_width(), pixbuf.get_height()
if mime is None:
# TRANSLATORS: do not translate 'width' and 'height'
markup = _('{width}x{height} pixels').format(width=width, height=height)
else:
# TRANSLATORS: do not translate 'format', 'width', and 'height'
markup = _('{format} ({width}x{height} pixels)').format(
format=self.mime_info.get(mime, self.mime_info['image/'])['title'],
width=width, height=height
)
self.info_label.set_markup(markup)
self.info = self.info._replace(mime=mime)
开发者ID:dangmai,项目名称:exaile,代码行数:26,代码来源:properties.py
示例5: format
def format(self, track, parameters):
"""
Formats a raw tag value
:param track: the track to get the tag from
:type track: :class:`xl.trax.Track`
:param parameters: optionally passed parameters
:type parameters: dictionary
:returns: the formatted value
:rtype: string
"""
value = track.get_tag_raw(self.name)
# TRANSLATORS: Indicates that a track has never been played before
text = _('Never')
try:
last_played = date.fromtimestamp(value)
except (TypeError, ValueError):
text = _('Never')
else:
today = date.today()
delta = today - last_played
if delta.days == 0:
text = _('Today')
elif delta.days == 1:
text = _('Yesterday')
else:
text = last_played.strftime('%x')
return text
开发者ID:BlubberHarpoonist,项目名称:exaile,代码行数:31,代码来源:formatter.py
示例6: __init__
def __init__(self, parent=None):
"""
:param parent: a parent window for modal operation or None
:type parent: :class:`gtk.Window`
"""
gtk.FileChooserDialog.__init__(self,
title=_('Import Playlist'),
parent=parent,
buttons=(
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN, gtk.RESPONSE_OK))
self.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
self.set_local_only(False)
self.set_select_multiple(True)
playlist_filter = gtk.FileFilter()
playlist_filter.set_name(_('Playlist Files'))
all_filter = gtk.FileFilter()
all_filter.set_name(_('All Files'))
all_filter.add_pattern('*')
playlist_file_extensions = sum([p.file_extensions \
for p in providers.get('playlist-format-converter')], [])
for extension in playlist_file_extensions:
pattern = '*.%s' % extension
playlist_filter.add_pattern(pattern)
self.add_filter(playlist_filter)
self.add_filter(all_filter)
self.connect('response', self.on_response)
开发者ID:thiblahute,项目名称:exaile,代码行数:33,代码来源:dialogs.py
示例7: set_pixbuf
def set_pixbuf(self, pixbuf, mime=None):
"""
Updates the displayed cover image and info values
"""
self.pixbuf = pixbuf
if pixbuf is None:
self.image.set_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_DIALOG)
self.info_label.set_markup('')
else:
self.image.set_from_pixbuf(pixbuf.scale_simple(
100, 100, gtk.gdk.INTERP_BILINEAR))
width, height = pixbuf.get_width(), pixbuf.get_height()
if mime is None:
# TRANSLATORS: do not translate 'width' and 'height'
markup = _('{width}x{height} pixels').format(width=width, height=height)
else:
# TRANSLATORS: do not translate 'format', 'width', and 'height'
markup = _('{format} ({width}x{height} pixels)').format(
format=self.mime_info.get(mime, self.mime_info['image/'])['title'],
width=width, height=height
)
self.info_label.set_markup(markup)
self.info = self.info._replace(mime=mime)
开发者ID:eri-trabiccolo,项目名称:exaile,代码行数:26,代码来源:properties.py
示例8: __create_menu_item__
def __create_menu_item__(self):
exaile = self.exaile
self.menuItem = gtk.MenuItem(_('Open Douban.fm'))
menu = gtk.Menu()
self.menuItem.set_submenu(menu)
for channel_name in self.channels.keys():
menuItem = gtk.MenuItem(_(channel_name))
menuItem.connect('activate', self.active_douban_radio, channel_name)
menu.prepend(menuItem)
menuItem.show()
# self.menu.connect('activate', self.active_douban_radio, self.exaile)
exaile.gui.builder.get_object('file_menu').insert(self.menuItem, 5)
self.menuItem.show()
self.modeMenuItem = gtk.MenuItem(_('DoubanFM mode'))
key, modifier = gtk.accelerator_parse('<Control><Alt>D')
self.accels = gtk.AccelGroup()
self.modeMenuItem.add_accelerator('activate', self.accels, key, modifier, gtk.ACCEL_VISIBLE)
self.exaile.gui.main.window.add_accel_group(self.accels)
self.modeMenuItem.connect('activate', self.show_mode)
exaile.gui.builder.get_object('view_menu').append(self.modeMenuItem)
self.modeMenuItem.show()
开发者ID:lishuomountain,项目名称:exaile-cn,代码行数:29,代码来源:__init__.py
示例9: __create_edit_menu
def __create_edit_menu():
items = []
accelerators = []
def collection_manager_cb(*args):
from xlgui import get_controller
get_controller().collection_manager()
items.append(_smi('collection-manager', [], _("_Collection"), None, collection_manager_cb))
def queue_cb(*args):
get_main().playlist_container.show_queue()
items.append(_smi('queue', [items[-1].name], _("_Queue"),
callback=queue_cb, accelerator='<Control>m'))
accelerators.append(Accelerator('<Control>m', queue_cb))
def cover_manager_cb(*args):
from xlgui.cover import CoverManager
dialog = CoverManager(get_main().window, get_main().collection)
items.append(_smi('cover-manager', [items[-1].name], _("C_overs"), None, cover_manager_cb))
def preferences_cb(*args):
from xlgui.preferences import PreferencesDialog
dialog = PreferencesDialog(get_main().window, get_main().controller)
dialog.run()
items.append(_smi('preferences', [items[-1].name],
icon_name=gtk.STOCK_PREFERENCES, callback=preferences_cb))
for item in items:
providers.register('menubar-edit-menu', item)
for accelerator in accelerators:
providers.register('mainwindow-accelerators', accelerator)
开发者ID:thiblahute,项目名称:exaile,代码行数:31,代码来源:menu.py
示例10: __create_help_menu
def __create_help_menu():
items = []
accelerators = []
def show_report_issue(*args):
webbrowser.open('https://github.com/exaile/exaile/issues')
def show_user_guide(*args):
# TODO: Other languages
webbrowser.open('http://exaile.readthedocs.org/en/latest/user/index.html')
def show_about_dialog(widget, name, parent, context):
dialog = dialogs.AboutDialog(parent.window)
dialog.show()
items.append(_smi('guide', [], _("User's Guide (website)"), 'help',
show_user_guide))
items.append(_smi('report', [items[-1].name], _("Report an issue (GitHub)"), None,
show_report_issue))
items.append(_sep('about-sep', [items[-1].name]))
items.append(_smi('about', [items[-1].name], _("_About"), 'help-about',
show_about_dialog))
for item in items:
providers.register('menubar-help-menu', item)
for accelerator in accelerators:
providers.register('mainwindow-accelerators', accelerator)
开发者ID:BlubberHarpoonist,项目名称:exaile,代码行数:26,代码来源:menu.py
示例11: __init__
def __init__(self, title):
dialogs.ListDialog.__init__(self, title)
col = self.list.get_column(0)
col.set_title(_('Name'))
col.set_expand(True)
col.set_resizable(True)
self.list.set_headers_visible(True)
text = Gtk.CellRendererText()
text.set_property('xalign', 1.0)
col = Gtk.TreeViewColumn(_('Bitrate'), text)
col.set_cell_data_func(
text,
lambda column, cell, model, iter: cell.set_property(
'text', model.get_value(iter, 0).bitrate
),
)
self.list.append_column(col)
text = Gtk.CellRendererText()
text.set_property('xalign', 0.5)
col = Gtk.TreeViewColumn(_('Format'), text)
col.set_cell_data_func(
text,
lambda column, cell, model, iter: cell.set_property(
'text', model.get_value(iter, 0).format
),
)
self.list.append_column(col)
开发者ID:exaile,项目名称:exaile,代码行数:27,代码来源:__init__.py
示例12: __init__
def __init__(self, preferences, widget):
"""
Initializes the preferences item
expects the name of the widget in the designer file, the default for
this setting, an optional function to be called when the value is
changed, and an optional function to be called when this setting
is applied
"""
self.widget = widget
self.preferences = preferences
if self.restart_required:
self.message = dialogs.MessageBar(
parent=preferences.builder.get_object('preferences_box'),
type=Gtk.MessageType.QUESTION,
buttons=Gtk.ButtonsType.CLOSE,
text=_('Restart Exaile?'),
)
self.message.set_secondary_text(
_('A restart is required for this change to take effect.')
)
button = self.message.add_button(_('Restart'), Gtk.ResponseType.ACCEPT)
button.set_image(
Gtk.Image.new_from_icon_name('view-refresh', Gtk.IconSize.BUTTON)
)
self.message.connect('response', self.on_message_response)
self._set_value()
self._setup_change()
开发者ID:exaile,项目名称:exaile,代码行数:32,代码来源:widgets.py
示例13: on_timeout
def on_timeout(self):
"""
Tries to shutdown the computer
"""
self.countdown = None
if self.counter > 0:
self.message.set_secondary_text(_("The computer will be shut down in %d seconds.") % self.counter)
self.message.show()
self.counter -= 1
return True
self.do_shutdown = False
bus = dbus.SystemBus()
try:
proxy = bus.get_object("org.freedesktop.login1", "/org/freedesktop/login1")
proxy.PowerOff(False, dbus_interface="org.freedesktop.login1.Manager")
except dbus.exceptions.DBusException:
try:
proxy = bus.get_object("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager")
proxy.Stop(dbus_interface="org.freedesktop.ConsoleKit.Manager")
except dbus.exceptions.DBusException:
try:
proxy = bus.get_object("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer")
proxy.Shutdown(dbus_interface="org.freedesktop.Hal.Device.SystemPowerManagement")
except dbus.exceptions.DBusException:
self.message.show_warning(_("Shutdown failed"), _("Computer could not be shutdown using D-Bus."))
开发者ID:dangmai,项目名称:exaile,代码行数:30,代码来源:__init__.py
示例14: _add_default_playlists
def _add_default_playlists(self):
"""
Adds some default smart playlists to the playlist manager
"""
from xl import playlist
# entire playlist
entire_lib = playlist.SmartPlaylist(
_("Entire Library"), collection=self.collection
)
self.smart_playlists.save_playlist(entire_lib, overwrite=True)
# random playlists
for count in (100, 300, 500):
pl = playlist.SmartPlaylist(
_("Random %d") % count, collection=self.collection
)
pl.set_return_limit(count)
pl.set_random_sort(True)
self.smart_playlists.save_playlist(pl, overwrite=True)
# rating based playlists
for item in (3, 4):
pl = playlist.SmartPlaylist(
_("Rating > %d") % item, collection=self.collection
)
pl.add_param('__rating', '>', item)
self.smart_playlists.save_playlist(pl, overwrite=True)
开发者ID:genodeftest,项目名称:exaile,代码行数:28,代码来源:main.py
示例15: _parse_podcast
def _parse_podcast(self, url, add_to_db=False):
try:
url = url.replace("itpc://", "http://")
self._set_status(_("Loading %s...") % url)
d = fp.parse(url)
entries = d["entries"]
title = d["feed"]["title"]
if add_to_db:
self._add_to_db(url, title)
pl = playlist.Playlist(md5(url).hexdigest())
tracks = []
for e in entries:
for link in e.get("enclosures", []):
tr = trax.Track(link.href)
date = e["updated_parsed"]
tr.set_tag_raw("artist", title)
tr.set_tag_raw("title", "%s: %s" % (e["title"], link.href.split("/")[-1]))
tr.set_tag_raw("date", "%d-%02d-%02d" % (date.tm_year, date.tm_mon, date.tm_mday))
tracks.append(tr)
pl.extend(tracks)
self._set_status("")
self._open_podcast(pl, title)
self.podcast_playlists.save_playlist(pl, overwrite=True)
except:
logger.exception("Error loading podcast")
self._set_status(_("Error loading podcast."), 2)
开发者ID:dangmai,项目名称:exaile,代码行数:33,代码来源:__init__.py
示例16: __create_view_menu
def __create_view_menu():
items = []
accelerators = []
def show_playing_track_cb(*args):
get_main().playlist_container.show_current_track()
items.append(menuitems.ShowCurrentTrackMenuItem('show-playing-track', [],
show_playing_track_cb, accelerator='<Control>j'))
accelerators.append(Accelerator('<Control>j', show_playing_track_cb))
items.append(_sep('show-playing-track-sep', [items[-1].name]))
def playlist_utilities_cb(widget, name, parent, context):
settings.set_option('gui/playlist_utilities_bar_visible',
widget.get_active())
def playlist_utilities_is_checked(name, parent, context):
return settings.get_option('gui/playlist_utilities_bar_visible', True)
items.append(menu.check_menu_item('playlist-utilities', [items[-1].name],
_("_Playlist Utilities Bar"), playlist_utilities_is_checked, playlist_utilities_cb))
items.append(_smi('columns', [items[-1].name], _('_Columns'),
submenu=menu.ProviderMenu('playlist-columns-menu', get_main())))
def clear_playlist_cb(*args):
page = get_main().get_selected_page()
if page:
page.playlist.clear()
items.append(_smi('clear-playlist', [items[-1].name], _('C_lear playlist'),
gtk.STOCK_CLEAR, clear_playlist_cb, accelerator='<Control>l'))
accelerators.append(Accelerator('<Control>l', clear_playlist_cb))
for item in items:
providers.register('menubar-view-menu', item)
for accelerator in accelerators:
providers.register('mainwindow-accelerators', accelerator)
开发者ID:thiblahute,项目名称:exaile,代码行数:35,代码来源:menu.py
示例17: ask_for_playlist_name
def ask_for_playlist_name(playlist_manager, name=None):
"""
Returns a user-selected name that is not already used
in the specified playlist manager
:param name: A default name to show to the user
Returns None if the user hits cancel
"""
while True:
dialog = TextEntryDialog(
_('Playlist name:'),
_('Add new playlist...'), name, okbutton=gtk.STOCK_ADD)
result = dialog.run()
if result != gtk.RESPONSE_OK:
return None
name = dialog.get_value()
if name == '':
error(None, _("You did not enter a name for your playlist"))
elif playlist_manager.has_playlist_name(name):
# name is already in use
error(None, _("The playlist name you entered is already in use."))
else:
return name
开发者ID:thiblahute,项目名称:exaile,代码行数:28,代码来源:dialogs.py
示例18: factory
def factory(menu_, parent, context):
item = None
dt = (datetime.now() - close_time)
if dt.seconds > 60:
display_name = _('{playlist_name} ({track_count} tracks, closed {minutes} min ago)').format(
playlist_name=playlist.name,
track_count=len(playlist),
minutes=dt.seconds // 60
)
else:
display_name = _('{playlist_name} ({track_count} tracks, closed {seconds} sec ago)').format(
playlist_name=playlist.name,
track_count=len(playlist),
seconds=dt.seconds
)
item = gtk.ImageMenuItem(display_name)
item.set_image(gtk.image_new_from_icon_name('music-library', gtk.ICON_SIZE_MENU))
# Add accelerator to top item
if self.tab_history[0][1].name == item_name:
key, mods = gtk.accelerator_parse(self.accelerator.keys)
item.add_accelerator('activate', menu.FAKEACCELGROUP, key, mods,
gtk.ACCEL_VISIBLE)
item.connect('activate', lambda w: self.restore_closed_tab(item_name=item_name))
return item
开发者ID:thiblahute,项目名称:exaile,代码行数:29,代码来源:playlist_container.py
示例19: _parse_podcast
def _parse_podcast(self, url, add_to_db=False):
try:
url = url.replace('itpc://', 'http://')
self._set_status(_('Loading %s...') % url)
d = fp.parse(url)
entries = d['entries']
title = d['feed']['title']
if add_to_db:
self._add_to_db(url, title)
pl = playlist.Playlist(md5(url).hexdigest())
tracks = []
for e in entries:
for link in e.get('enclosures', []):
tr = trax.Track(link.href)
date = e['updated_parsed']
tr.set_tag_raw('artist', title)
tr.set_tag_raw('title', '%s: %s' % (e['title'], link.href.split('/')[-1]))
tr.set_tag_raw('date', "%d-%02d-%02d" %
(date.tm_year, date.tm_mon, date.tm_mday))
tracks.append(tr)
pl.extend(tracks)
self._set_status('')
self._open_podcast(pl, title)
self.podcast_playlists.save_playlist(pl, overwrite=True)
except:
traceback.print_exc()
self._set_status(_('Error loading podcast.'), 2)
开发者ID:eri-trabiccolo,项目名称:exaile,代码行数:34,代码来源:__init__.py
示例20: __init__
def __init__(self, all_button=True):
gtk.HBox.__init__(self, homogeneous=False, spacing=5)
self.parent_row = None
self.all_func = None
self.update_func = None
# Prevents the update function from being called, make
# sure you do that manually after the batch update
self.batch_update = False
self.pixbuf = None
self.info = CoverImage(None, None, None, None)
self.default_type = 3
self.mime_info = {
'image/jpeg': {
# Title for display
'title': _('JPEG image'),
# Type and options for GDK Pixbuf saving
'type': 'jpeg',
'options': {'quality': '90'}
},
'image/png': {
'title': _('PNG image'),
'type': 'png',
'options': {}
},
'image/': {
'title': _('Image'),
# Store unknown images as JPEG
'type': 'jpeg',
'options': {'quality': '90'}
},
# TODO: Handle linked images
'-->': {
'title': _('Linked image')
}
}
builder = gtk.Builder()
builder.add_from_file(xdg.get_data_path('ui', 'trackproperties_dialog_cover_row.ui'))
builder.connect_signals(self)
cover_row = builder.get_object('cover_row')
cover_row.reparent(self)
button = builder.get_object('button')
button.drag_dest_set(gtk.DEST_DEFAULT_ALL, [], gtk.gdk.ACTION_COPY)
button.drag_dest_add_uri_targets()
self.image = builder.get_object('image')
self.info_label = builder.get_object('info_label')
self.type_model = builder.get_object('type_model')
self.type_selection = builder.get_object('type_selection')
self.type_selection.set_sensitive(False)
self.description_entry = builder.get_object('description_entry')
self.description_entry.set_sensitive(False)
self.all_button = None
if all_button:
self.all_button = AllButton(self)
self.pack_start(self.all_button, expand=False, fill=False)
开发者ID:eri-trabiccolo,项目名称:exaile,代码行数:60,代码来源:properties.py
注:本文中的xl.nls._函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论