本文整理汇总了Python中miro.gtcache._函数的典型用法代码示例。如果您正苦于以下问题:Python _函数的具体用法?Python _怎么用?Python _使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_metainfo
def get_metainfo(self):
if self.metainfo is None:
if self.url.startswith('file://'):
path = get_file_url_path(self.url)
try:
metainfoFile = open(path, 'rb')
except IOError:
self.handle_error(
_("Torrent file deleted"),
_("The torrent file for this item was deleted "
"outside of %(appname)s.",
{"appname": app.config.get(prefs.SHORT_APP_NAME)}
))
return
try:
metainfo = metainfoFile.read()
finally:
metainfoFile.close()
self.handle_metainfo(metainfo)
else:
self.description_client = httpclient.grab_url(self.url,
self.on_metainfo_download,
self.on_metainfo_download_error,
content_check_callback=self.check_description)
else:
self.got_metainfo()
示例2: _run_downloader
def _run_downloader(self, url, content_type=None, title=None):
if not self.id_exists():
# we got deleted while we were doing the flash scraping
return
if content_type is not None:
self.content_type = content_type
if url is not None:
if title is not None:
for mem in self.item_list:
if not mem.title:
mem.title = title
self.url = url
logging.debug("downloading url %s", self.url)
args = dict(url=self.url, content_type=self.content_type,
channel_name=self.channel_name)
app.download_state_manager.add_download(self.dlid, self)
app.download_state_manager.queue(self.dlid,
app.download_state_manager.RESUME,
args)
self.state = u'downloading'
else:
self.state = u'failed'
self.short_reason_failed = _('File not found')
self.reason_failed = _('Flash URL Scraping Error')
self.signal_change()
示例3: open_url
def open_url(self, url):
# It looks like the maximum URL length is about 2k. I can't
# seem to find the exact value
if len(url) > 2047:
url = url[:2047]
try:
webbrowser.get("windows-default").open_new(url)
except:
logging.warn("Error opening URL: %r\n%s", url,
traceback.format_exc())
recommendURL = app.config.get(prefs.RECOMMEND_URL)
if url.startswith(app.config.get(prefs.VIDEOBOMB_URL)):
title = _('Error Bombing Item')
elif url.startswith(recommendURL):
title = _('Error Recommending Item')
else:
title = _("Error Opening Website")
scheme, host, path, params, query, fragment = urlparse(url)
shortURL = '%s:%s%s' % (scheme, host, path)
msg = _(
"There was an error opening %(url)s. Please try again in a few "
"seconds",
{"url": shortURL}
)
dialogs.show_message(title, msg, dialogs.WARNING_MESSAGE)
示例4: build_widget
def build_widget(self):
vbox = widgetset.VBox()
grid = dialogwidgets.ControlGrid()
count = get_logical_cpu_count()
max_concurrent = []
for i in range(0, count):
max_concurrent.append((i+1, str(i+1)))
max_concurrent_menu = widgetset.OptionMenu([op[1] for op in max_concurrent])
attach_combo(max_concurrent_menu, prefs.MAX_CONCURRENT_CONVERSIONS,
[op[0] for op in max_concurrent])
if count == 1:
max_concurrent_menu.disable()
grid.pack(dialogwidgets.label_with_note(
_("Allow this many concurrent conversions:"),
_("(changing this will not apply to currently running conversions)")),
dialogwidgets.ControlGrid.ALIGN_RIGHT)
grid.pack(max_concurrent_menu)
grid.end_line(spacing=4)
vbox.pack_start(widgetutil.align_left(grid.make_table()))
pack_extras(vbox, "conversions")
return vbox
示例5: make_subtitles_button
def make_subtitles_button(self):
hbox = HBox(5)
current_track = app.video_renderer.get_enabled_subtitle_track()
# None, -1 and 0 all mean there is no current track.
if current_track is not None and current_track > 0:
ccimage = 'images/cc-on.png'
cccolor = GREEN
cctext = _("Subtitles On")
else:
tracks = app.video_renderer.get_subtitle_tracks()
if tracks is not None and len(tracks) > 0:
ccimage = 'images/cc-available.png'
cctext = _("Subtitles Found")
cccolor = WHITE
else:
ccimage = 'images/cc-available.png'
cctext = _("Subtitles")
cccolor = WHITE
cc_image_button = make_image_button(ccimage, self.handle_subtitles)
hbox.pack_start(_align_middle(cc_image_button))
subtitles_link = make_label(cctext, self.handle_subtitles)
subtitles_link.set_color(cccolor)
hbox.pack_start(_align_middle(subtitles_link))
subtitles_image = make_image_button(
'images/subtitles_down.png', self.handle_subtitles)
hbox.pack_start(_align_middle(subtitles_image))
return hbox
示例6: adjustContent
def adjustContent(self, videoWindow, animate):
if videoWindow.is_fullscreen:
self.popInOutButton.setHidden_(YES)
self.popInOutLabel.setHidden_(YES)
self.fsButton.setImage_(NSImage.imageNamed_('fs-button-exitfullscreen'))
self.fsButton.setAlternateImage_(NSImage.imageNamed_('fs-button-exitfullscreen-alt'))
else:
if app.playback_manager.detached_window is None:
image_path = resources.path('images/popout.png')
label = _('Pop Out')
else:
image_path = resources.path('images/popin.png')
label = _('Pop In')
self.popInOutButton.setImage_(NSImage.alloc().initWithContentsOfFile_(image_path))
self.popInOutButton.setHidden_(NO)
self.popInOutLabel.setHidden_(NO)
self.popInOutLabel.setStringValue_(label)
self.fsButton.setImage_(NSImage.imageNamed_('fs-button-enterfullscreen'))
self.fsButton.setAlternateImage_(NSImage.imageNamed_('fs-button-enterfullscreen-alt'))
newFrame = self.window().frame()
if videoWindow.is_fullscreen or app.playback_manager.detached_window is not None:
self.titleLabel.setHidden_(NO)
self.feedLabel.setHidden_(NO)
newFrame.size.height = 198
else:
self.titleLabel.setHidden_(YES)
self.feedLabel.setHidden_(YES)
newFrame.size.height = 144
newFrame.origin.x = self.getHorizontalPosition(videoWindow, newFrame.size.width)
self.window().setFrame_display_animate_(newFrame, YES, animate)
self.playbackControls.setNeedsDisplay_(YES)
示例7: run_dialog
def run_dialog():
"""Creates and launches the New Feed dialog. This dialog waits for
the user to press "Create Feed" or "Cancel".
Returns a tuple of the (url, section).
"""
text = app.widgetapp.get_clipboard_text()
if text and feed.validate_feed_url(text):
text = feed.normalize_feed_url(text)
else:
text = ""
title = _('Add Feed')
description = _('Enter the URL of the feed to add')
while 1:
text, section = _run_dialog(title, description, initial_text=text)
if text == None:
return (None, None)
normalized_url = feed.normalize_feed_url(text)
if feed.validate_feed_url(normalized_url):
return (normalized_url, section)
title = _('Add Feed - Invalid URL')
description = _('The address you entered is not a valid url.\nPlease check the URL and try again.\n\nEnter the URL of the feed to add')
示例8: _run_downloader
def _run_downloader(self, url, contentType=None, title=None):
if not self.id_exists():
# we got deleted while we were doing the flash scraping
return
if contentType is not None:
self.contentType = contentType
if url is not None:
if title is not None:
for mem in self.item_list:
if not mem.title:
mem.title = title
self.url = url
logging.debug("downloading url %s", self.url)
c = command.StartNewDownloadCommand(RemoteDownloader.dldaemon,
self.url, self.dlid,
self.contentType,
self.channelName)
c.send()
_downloads[self.dlid] = self
else:
self.status["state"] = u'failed'
self.status["shortReasonFailed"] = _('File not found')
self.status["reasonFailed"] = _('Flash URL Scraping Error')
self.signal_change()
示例9: _calc_retry_time
def _calc_retry_time(self):
if self.status['retryTime'] > datetime.datetime.now():
retry_delta = self.status['retryTime'] - datetime.datetime.now()
time_str = displaytext.time_string(retry_delta.seconds)
return _('no connection - retrying in %s') % time_str
else:
return _('no connection - retrying soon')
示例10: _run_db_error_dialog
def _run_db_error_dialog(self):
if self._db_retry_callback_pending:
return
gettext_values = {"appname": app.config.get(prefs.SHORT_APP_NAME)}
title = _("%(appname)s database query failed", gettext_values)
description = _("%(appname)s was unable to read from its database.", gettext_values)
app.db_error_handler.run_dialog(title, description, self._retry_after_db_error)
示例11: update_free_space
def update_free_space(self):
"""Updates the free space text on the downloads tab.
amount -- the total number of bytes free.
"""
amount = get_available_bytes_for_movies()
if app.config.get(prefs.PRESERVE_DISK_SPACE):
available = (app.config.get(prefs.PRESERVE_X_GB_FREE) * 1024 * 1024 * 1024)
available = amount - available
if available < 0:
available = available * -1.0
text = _(
"%(available)s below downloads space limit (%(amount)s "
"free on disk)",
{"amount": displaytext.size_string(amount),
"available": displaytext.size_string(available)}
)
else:
text = _(
"%(available)s free for downloads (%(amount)s free "
"on disk)",
{"amount": displaytext.size_string(amount),
"available": displaytext.size_string(available)}
)
else:
text = _("%(amount)s free on disk",
{"amount": displaytext.size_string(amount)})
self._free_disk_label.set_text(text)
示例12: add_subtitle_encoding_menu
def add_subtitle_encoding_menu(menubar, category_label, *encodings):
"""Helper method to set up the subtitles encoding menu.
This method should be called for each category of subtitle encodings (East
Asian, Western European, Unicode, etc). Pass it the list of encodings for
that category.
:param category_label: human-readable name for the category
:param encodings: list of (label, encoding) tuples. label is a
human-readable name, and encoding is a value that we can pass to
VideoDisplay.select_subtitle_encoding()
"""
subtitles_menu = menubar.get("PlaybackMenu").get("SubtitlesMenu")
try:
encoding_menu = subtitles_menu.get("SubtitleEncodingMenu")
except ValueError:
# first time calling this function, we need to set up the menu.
encoding_menu = Menu(_("_Encoding"), "SubtitleEncodingMenu", [], groups=["PlayingVideo"])
subtitles_menu.append(encoding_menu)
default_item = RadioMenuItem(
_("Default (UTF-8)"), "SubtitleEncoding-Default", "subtitle-encoding", groups=["PlayingVideo"]
)
encoding_menu.append(default_item)
app.menu_manager.subtitle_encoding_enabled = True
category_menu = Menu(category_label, "SubtitleEncodingCat%s" % encoding_menu.count(), [], groups=["PlayingVideo"])
encoding_menu.append(category_menu)
for encoding, name in encodings:
label = "%s (%s)" % (name, encoding)
category_menu.append(
RadioMenuItem(label, "SubtitleEncoding-%s" % encoding, "subtitle-encoding", groups=["PlayingVideo"])
)
示例13: run_dialog
def run_dialog():
"""Creates and launches the New Feed dialog. This dialog waits for
the user to press "Create Podcast" or "Cancel".
Returns the URL, or None.
"""
text = app.widgetapp.get_clipboard_text()
if text and feed.validate_feed_url(text):
text = feed.normalize_feed_url(text)
else:
text = ""
title = _('Add Podcast')
description = _('Enter the URL of the podcast to add')
while 1:
text = _run_dialog(title, description, initial_text=text)
if text == None:
return None
normalized_url = feed.normalize_feed_url(text)
if feed.validate_feed_url(normalized_url):
return normalized_url
title = _('Add Podcast - Invalid URL')
description = _(
'The address you entered is not a valid url. '
'Please check the URL and try again.'
'\n\n'
'Enter the URL of the podcast to add')
示例14: _calc_status_text
def _calc_status_text(self):
"""Calculate the text/color for our status line.
:returns: (text, color) tuple
"""
if self.info.downloaded:
if self.info.is_playable:
if not self.info.video_watched:
return (_('Unplayed'), UNPLAYED_COLOR)
elif self.info.expiration_date:
text = displaytext.expiration_date_short(
self.info.expiration_date)
return (text, EXPIRING_TEXT_COLOR)
elif (self.info.download_info and
self.info.download_info.rate == 0):
if self.info.download_info.state == 'paused':
return (_('paused'), DOWNLOADING_COLOR)
elif self.info.download_info.state == 'pending':
return (_('queued'), DOWNLOADING_COLOR)
elif self.info.download_info.state == 'failed':
return (self.info.download_info.short_reason_failed,
ERROR_COLOR)
else:
return (self.info.download_info.startup_activity,
DOWNLOADING_COLOR)
elif not self.info.item_viewed:
return (_('Newly Available'), AVAILABLE_COLOR)
return ('', self.default_text_color)
示例15: _show_save_error_dialog
def _show_save_error_dialog(self, error_text):
title = _("%(appname)s database save failed",
{"appname": app.config.get(prefs.SHORT_APP_NAME)})
description = _(
"%(appname)s was unable to save its database.\n\n"
"If your disk is full, we suggest freeing up some space and "
"retrying. If your disk is not full, it's possible that "
"retrying will work.\n\n"
"If retrying did not work, please quit %(appname)s and restart. "
"Recent changes may be lost.\n\n"
"If you see this error often while downloading, we suggest "
"you reduce the number of simultaneous downloads in the Options "
"dialog in the Download tab.\n\n"
"Error: %(error_text)s\n\n",
{"appname": app.config.get(prefs.SHORT_APP_NAME),
"error_text": error_text}
)
d = dialogs.ChoiceDialog(title, description,
dialogs.BUTTON_RETRY, dialogs.BUTTON_QUIT)
choice = d.run_blocking()
if choice == dialogs.BUTTON_QUIT:
self._quitting_from_operational_error = True
messages.FrontendQuit().send_to_frontend()
else:
logging.warn("Re-running SQL statement")