def parse_desc(self):
ctx = {}
for download in self.download_set.all():
ctx['DL_{}'.format(download.slug)] = reverse(
'wui_download_file',
kwargs={'download_id': download.pk}
)
vm = self.vm
if vm:
if not vm.provider or vm.ip_addr == UNKNOWN_HOST:
return None
if vm.ip_addr == LOCALHOST:
ctx['HOST'] = settings.DOMAIN
else:
ctx['HOST'] = vm.ip_addr
try:
provider = ALLOWED_PROVIDERS[vm.provider]
except KeyError:
logger.warning(
"Illegal provider '%s' used in VM %s",
vm.provider, vm.slug
)
return None
for port in vm.port_set.all():
if provider.port_forwarding:
ctx['PORT_{}'.format(port.guest_port)] = port.host_port
else:
ctx['PORT_{}'.format(port.guest_port)] = port.guest_port
return self.desc.format_map(defaultdict(str, **ctx))
评论列表
文章目录