modified: ri_dep.py
modified: ri_oper.py
modified: ri_tk_cmd.py
modified: ../xml/interface.xml
funcation and packages dependency not add InstallPkg of ri_oper
modules
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import ri_data
|
||||
|
||||
import ri_func_dep
|
||||
from xml.dom import minidom
|
||||
import os.path
|
||||
|
||||
@@ -61,8 +61,8 @@ def construct_depended():
|
||||
Depended(dep)
|
||||
Depended.dict[dep].depended_by.add(d.name)
|
||||
|
||||
def get_extra_depending(pkg_list = []):
|
||||
l = ri_data.Group.get_install_pkgs() + pkg_list
|
||||
def get_extra_depending(fun_pkg_list = []):
|
||||
l = ri_data.Group.get_install_pkgs() + fun_pkg_list
|
||||
|
||||
set1 = set(l)
|
||||
set2 = set(set1)
|
||||
@@ -70,12 +70,22 @@ def get_extra_depending(pkg_list = []):
|
||||
for d in set1:
|
||||
set2.update(Depending.dict[d].depending)
|
||||
|
||||
global extra_pkgs
|
||||
extra_pkgs = set2.difference(set1)
|
||||
res = {}
|
||||
for d in extra_pkgs:
|
||||
for d in set2.difference(set1):
|
||||
res[d] = Depended.dict[d].depended_by.intersection(set1)
|
||||
|
||||
return res
|
||||
|
||||
extra_pkgs = []
|
||||
class dependency_init():
|
||||
''' init dependency package and funcation'''
|
||||
func_dep_list = []
|
||||
func_dep_dict={}
|
||||
dep_dict={}
|
||||
def __init__(self):
|
||||
dependency_init.func_dep_dict = ri_func_dep.check_function_depending()
|
||||
dependency_init.func_dep_list.extend(dependency_init.func_dep_dict.values())
|
||||
construct_depending()
|
||||
resolve_recursive_depending()
|
||||
construct_depended()
|
||||
dependency_init.dep_dict = get_extra_depending(dependency_init.func_dep_list)
|
||||
|
||||
|
||||
@@ -191,13 +191,17 @@ class InstallPkg(Operation):
|
||||
self.return_value[3]=("Software package doesn't exist",u"软件包不存在")
|
||||
|
||||
def get_stdin(self):
|
||||
pkgname = ri_data.Group.get_install_pkgs() + ri_dep.extra_pkgs
|
||||
pkgname = set(ri_data.Group.get_install_pkgs() + self.get_dependency_pkg())
|
||||
self.steps += len(pkgname)
|
||||
return '\n'.join(pkgname) + '\n'
|
||||
return '\n'.join(pkgname)+'\n'
|
||||
|
||||
def get_arguments(self):
|
||||
return ["-s","/Rocky/packages"]
|
||||
|
||||
def get_dependency_pkg(self):
|
||||
ri_dep.dependency_init()
|
||||
return ri_dep.dependency_init.dep_dict.keys() + ri_dep.dependency_init.func_dep_list
|
||||
|
||||
class ConfigureFstab(Mount):
|
||||
"""class for configure /etc/fstab"""
|
||||
def __init__(self,scr):
|
||||
|
||||
@@ -204,27 +204,18 @@ def software_group_optional_quit():
|
||||
vn = "software_group_%s" %(i.name)
|
||||
i.install = display.var_dict[vn].get()
|
||||
|
||||
def dependency_list_init():
|
||||
def dependency_fun_pkg_display():
|
||||
''' init function for list in dependency step '''
|
||||
func_dep_list = []
|
||||
ri_dep.dependency_init()
|
||||
f_dep_text = ["function dependency list"]
|
||||
func_dep_dict = ri_func_dep.check_function_depending()
|
||||
for key in func_dep_dict.keys():
|
||||
func_dep_list.append(func_dep_dict[key])
|
||||
f = [ k.ljust(30) + ': ' + func_dep_dict[k] for k in func_dep_dict.keys() ]
|
||||
f = [ k.ljust(30) + ': ' + ri_dep.dependency_init.func_dep_dict[k] for k in ri_dep.dependency_init.func_dep_dict.keys() ]
|
||||
|
||||
dep_text = ["package dependency list"]
|
||||
ri_dep.construct_depending()
|
||||
ri_dep.resolve_recursive_depending()
|
||||
ri_dep.construct_depended()
|
||||
|
||||
dep_dict = ri_dep.get_extra_depending(func_dep_list)
|
||||
l = [ k.ljust(20) + ': ' + ' '.join(dep_dict[k]) for k in dep_dict.keys()]
|
||||
l = [ k.ljust(20) + ': ' + ' '.join(ri_dep.dependency_init.dep_dict[k]) for k in ri_dep.dependency_init.dep_dict.keys()]
|
||||
|
||||
l = f_dep_text + f + dep_text + l
|
||||
display.var_dict['dependency.list'].set(value=tuple(l))
|
||||
|
||||
|
||||
|
||||
def service_construct(w):
|
||||
''' construct service widget based on actual data
|
||||
w - Widget instance '''
|
||||
|
||||
@@ -715,7 +715,7 @@ row 4 | |
|
||||
<widget_attribute listvariable='dependency.list'/>
|
||||
<grid_location row='0' column='0' padx='30' pady='30' sticky='NSWE'/>
|
||||
<variable name='dependency.list' type='StringVar'/>
|
||||
<action init='dependency_list_init'/>
|
||||
<action init='dependency_fun_pkg_display'/>
|
||||
</widget>
|
||||
<widget type='Scrollbar' name='dependency.scroll.v'>
|
||||
<widget_attribute orient='vertical'/>
|
||||
|
||||
Reference in New Issue
Block a user