This patch filters remote isos that should be showed to user by the
system architecture. The UI now shows the architecture of the remote
iso and sort the names of the distros.
If host architecture is not found, all remote ISOs will be showed.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo(a)linux.vnet.ibm.com>
Signed-off-by: Christy Perez <christy(a)linux.vnet.ibm.com>
---
src/kimchi/distroloader.py | 10 +++++++++-
src/kimchi/model/config.py | 2 +-
ui/pages/template-add.html.tmpl | 8 ++++++--
3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/kimchi/distroloader.py b/src/kimchi/distroloader.py
index daa5d5b..142cab6 100644
--- a/src/kimchi/distroloader.py
+++ b/src/kimchi/distroloader.py
@@ -28,6 +28,11 @@ from kimchi.exception import NotFoundError, OperationFailed
from kimchi.utils import kimchi_log
+ARCHS = {'x86_64': ['x86_64', 'amd64', 'i686',
'x86', 'i386'],
+ 'amd64': ['x86_64', 'amd64', 'i686',
'x86', 'i386'],
+ 'ppc64': ['ppc', 'ppc64']}
+
+
class DistroLoader(object):
def __init__(self, location=None):
@@ -49,9 +54,12 @@ class DistroLoader(object):
raise OperationFailed("KCHDL0002E", msg_args)
def get(self):
+ arch_list = ARCHS.get(os.uname()[4])
all_json_files = glob.glob("%s/%s" % (self.location,
"*.json"))
distros = []
for f in all_json_files:
distros.extend(self._get_json_info(f))
- return dict([(distro['name'], distro) for distro in distros])
+ # Return all remote ISOs arch not found
+ return dict([(distro['name'], distro) for distro in distros if \
+ (arch_list is None or distro['os_arch'] in arch_list)])
diff --git a/src/kimchi/model/config.py b/src/kimchi/model/config.py
index e201737..5c90f0d 100644
--- a/src/kimchi/model/config.py
+++ b/src/kimchi/model/config.py
@@ -91,7 +91,7 @@ class DistrosModel(object):
self.distros = distroloader.get()
def get_list(self):
- return self.distros.keys()
+ return sorted(self.distros.keys())
class DistroModel(object):
diff --git a/ui/pages/template-add.html.tmpl b/ui/pages/template-add.html.tmpl
index edce8d2..5c66753 100644
--- a/ui/pages/template-add.html.tmpl
+++ b/ui/pages/template-add.html.tmpl
@@ -158,11 +158,15 @@
<div class="iso-info-item"
title="{os_distro}">
$_("OS: "){os_distro}
</div>
- </div>
- <div class="iso-info-col">
<div class="iso-info-item"
title="{os_version}">
$_("Version:
"){os_version}
</div>
+
+ </div>
+ <div class="iso-info-col">
+ <div class="iso-info-item"
title="{os_arch}">
+ $_("Arch: "){os_arch}
+ </div>
</div>
</div>
</div>
--
1.8.5.3