Обновлён вывод информации перед сборкой iso образа

Mike Khiretskiy 9 years ago
parent 654f5e16a2
commit 8a58027a98

@ -224,27 +224,40 @@ class VariableClBuilderDiskDev(Variable):
_("Destination '%s' is already in use") % value)
class VariableClBuilderDiskSize(ReadonlyVariable):
class DiskFreeHelper(ReadonlyVariable):
"""
Переменные содержащие свободное место на дисках
"""
type = "int"
def init(self):
self.label = _("Free disk space")
def get_free_for(self, dn):
try:
for dfdn in (dn, path.dirname(dn)):
dfdn = dn
while True:
dfProcess = process("/bin/df", "--output=avail", dfdn)
data = dfProcess.readlines()
if len(data) > 1:
return int(data[1].strip()) * 1024
if dfdn == '/':
return 0
dfdn = path.dirname(dfdn)
except ValueError:
return 0
return 0
def get_create(self):
def humanReadable(self):
return humanreadableSize(int(self.Get()))
class VariableClBuilderDiskSize(DiskFreeHelper):
"""
"""
def init(self):
self.label = _("Free disk space")
@is_action(Actions.NewAssemble)
def get(self):
device = self.Get('cl_builder_disk_dev')
if device:
if device.startswith('/dev/'):
@ -255,16 +268,29 @@ class VariableClBuilderDiskSize(ReadonlyVariable):
return str(self.get_free_for(device))
return "0"
class VariableClBuilderPrepareFreeSize(DiskFreeHelper):
"""
Свободное место используемое для подготовки образа
"""
def init(self):
self.label = _("Free disk space for iso building")
@is_action(Actions.Image)
def get(self):
action = self.Get('cl_action')
if action in Actions.NewAssemble:
return self.get_create()
elif action in (Actions.Break, Actions.Restore):
# TODO: disk size для остальных
return
dn = self.Get('cl_builder_iso_base_path')
return str(self.get_free_for(dn))
def humanReadable(self):
return humanreadableSize(int(self.Get()))
class VariableClBuilderImageFreeSize(DiskFreeHelper):
"""
Свободное место на диске, где создается iso образ
"""
def init(self):
self.label = _("Free disk space for iso image")
@is_action(Actions.Image)
def get(self):
dn = self.Get('cl_builder_image_filename')
return str(self.get_free_for(dn))
class VariableClBuilderLayeredSet(Variable):
@ -623,10 +649,10 @@ class VariableClBuilderImageFilename(Variable):
untrusted = True
def init(self):
self.label = _("Image name")
self.help = _("set image name")
self.label = _("Image path")
self.help = _("set image path")
def check(self,value):
def check(self, value):
if not value:
raise VariableError(_("You must specify image filename"))

@ -166,6 +166,9 @@ class VariableOsBuilderLinuxShortname(BuilderLinux):
"""Shortname of system"""
variable = "os_linux_shortname"
def init(self):
self.label = _("System to be build")
class VariableOsBuilderLinuxVer(BuilderLinux):
"""Shortname of system"""
@ -178,6 +181,9 @@ class VariableOsBuilderLinuxBuild(BuilderLinux):
"""Shortname of system"""
variable = "os_linux_build"
def init(self):
self.label = _("Build version")
def get(self):
action = self.Get('cl_action')
if action == Actions.Image:
@ -232,7 +238,6 @@ class VariableOsBuilderLinuxSubname(BuilderLinux):
"""
variable = "os_linux_subname"
class VariableClBuilderPortdirOverlay(ReadonlyVariable):
"""
Пути оверлеев в собираемом образе относительно точки монтирования

@ -172,8 +172,9 @@ class Wsdl(WsdlBase):
'cl_builder_branch_data',
'cl_builder_sync_rep',
'cl_templates_locate',
'cl_verbose_set', 'cl_dispatch_conf'),
next_label=_("Perform"))]
'cl_verbose_set',
'cl_dispatch_conf'),
next_label=_("Perform"))],
},
{
# идентификатор метода
@ -207,7 +208,7 @@ class Wsdl(WsdlBase):
normal=('cl_builder_broken_id',),
expert=('cl_templates_locate',
'cl_verbose_set', 'cl_dispatch_conf'),
next_label=_("Perform"))]
next_label=_("Perform"))],
},
{
# идентификатор метода
@ -248,11 +249,24 @@ class Wsdl(WsdlBase):
'cl_builder_prelink_set'
),
brief=('cl_builder_kernel_ver',
'cl_builder_initrd_install',
#'cl_builder_initrd_install',
'os_builder_linux_shortname',
'os_builder_linux_build',
'os_builder_linux_system',
'cl_builder_kernel'),
'cl_builder_kernel',
'cl_builder_prepared_id',
'cl_builder_image_filename',
'cl_builder_videodrv_set',
'cl_builder_compress',
'cl_builder_isohybrid_set',
'cl_builder_keep_tree_set',
'cl_builder_prelink_set',
'cl_builder_prepare_free_size',
'cl_builder_image_free_size'
),
hide=('cl_templates_locate',
'cl_verbose_set',
'cl_dispatch_conf'
),
expert=('cl_templates_locate',
'cl_verbose_set',
'cl_dispatch_conf'),

Loading…
Cancel
Save