Merge "Another method of install tpk." into devel
[tools/mic.git] / mic / kickstart / __init__.py
index bc97e2e..c3cb5f4 100755 (executable)
@@ -100,11 +100,13 @@ def read_kickstart(path):
     using_version = ksversion.DEVEL
     commandMap[using_version]["desktop"] = desktop.Mic_Desktop
     commandMap[using_version]["repo"] = micrepo.Mic_Repo
+    commandMap[using_version]["tpk_repo"] = micrepo.Mic_Tpk_Repo
     commandMap[using_version]["bootloader"] = micboot.Mic_Bootloader
     commandMap[using_version]["part"] = partition.Mic_Partition
     commandMap[using_version]["partition"] = partition.Mic_Partition
     commandMap[using_version]["installerfw_plugins"] = installerfw.Mic_installerfw
     dataMap[using_version]["RepoData"] = micrepo.Mic_RepoData
+    dataMap[using_version]["Tpk_RepoData"] = micrepo.Mic_Tpk_RepoData
     dataMap[using_version]["PartData"] = partition.Mic_PartData
     superclass = ksversion.returnClassForVersion(version=using_version)
 
@@ -772,9 +774,32 @@ def get_repos(ks, repo_urls=None, ignore_ksrepo=False):
                                           repo.get('user', None),
                                           repo.get('passwd', None))
             repos[name] = Repo(**repo)
-
     return repos.values()
 
+TpkRepoType = collections.namedtuple("TpkRepo",
+               "name, baseurl,proxy,proxy_username,proxy_password,ssl_verify")
+
+def TpkRepo(name, baseurl, proxy=None,proxy_username=None, proxy_password=None,ssl_verify=None):
+    return TpkRepoType(name, baseurl,proxy,proxy_username,proxy_password,ssl_verify)
+
+
+def get_tpkrepos(ks):
+    tpkrepos = {}
+    for tpkrepodata in ks.handler.tpk_repo.tpkRepoList:
+        tpkrepo = {}
+        for field in TpkRepoType._fields:
+            if hasattr(tpkrepodata, field) and getattr(tpkrepodata, field):
+                tpkrepo[field] = getattr(tpkrepodata, field)
+
+        if hasattr(tpkrepodata, 'baseurl') and getattr(tpkrepodata, 'baseurl'):
+            tpkrepo['baseurl'] = SafeURL(getattr(tpkrepodata, 'baseurl'),getattr(tpkrepodata, 'user',None),getattr(tpkrepodata, 'passwd',None))
+
+        if 'name' in tpkrepo:
+            tpkrepos[tpkrepo['name']] = TpkRepo(**tpkrepo)
+
+    return tpkrepos.values()
+
+
 def convert_method_to_repo(ks):
     try:
         ks.handler.repo.methodToRepo()
@@ -790,6 +815,9 @@ def get_pre_packages(ks, required=()):
 def get_packages(ks, required=()):
     return ks.handler.packages.packageList + list(required)
 
+def get_tpkpackages(ks):
+    return ks.handler.tpk_packages.tpk_packageList
+
 def get_groups(ks, required=()):
     return ks.handler.packages.groupList + list(required)