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:
fling
2010-11-20 11:09:06 +08:00
parent e26ea61ec2
commit 8267a1446f
4 changed files with 29 additions and 24 deletions

View File

@@ -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)

View File

@@ -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):

View File

@@ -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 '''

View File

@@ -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'/>