def __init__(self, xface):
self.xface = xface
if self.xface.is_installed():
version_string = xface.installed_version()
if not version_string:
version_string = 'unknown'
if version_string != xface.expectedversion:
version_string = '<span style="color:red">%s</span>' % version_string
self.maintext = ipy.HTML(
('<span class="nbv-table-row nbv-width-med nbv-monospace">'
' {xface.packagename}</span> '
'<span class="nbv-table-row nbv-monospace nbv-width-sm">'
' {localversion}</span> '
'<span class="nbv-table-row nbv-monospace nbv-width-sm">'
' {xface.expectedversion}</span>'
'<span class="nbv-width-sm nbv-table-row"> </span>' # empty space
).format(xface=xface,
localversion=(version_string if self.xface.is_installed()
else MISSING)))
if xface.required:
self.selector = ipy.ToggleButtons(options=['locally'])
elif not xface.is_installed():
self.selector = ipy.ToggleButtons(options=['in docker'],
button_style='warning')
else:
self.selector = ipy.ToggleButtons(options=['locally', 'in docker'],
value='in docker' if xface.force_remote else 'locally',
button_style='info')
self.selector.observe(self._toggle, 'value')
self.selector.add_class('nbv-width-lg')
self.selector.add_class("nbv-table-row")
children = [self.maintext, self.selector]
if not self.xface.required and self.xface.is_installed():
self.save_button = ipy.Button(description='Make default')
self.save_button.on_click(self.save_selection)
self.save_button.add_class('nbv-table-row')
children.append(self.save_button)
super().__init__(children=children,
layout=ipy.Layout(width='100%', align_items='flex-end'))
interfaces.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录