[TIC-Core] Sorting rule revised 37/124737/3
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Wed, 12 Apr 2017 08:17:53 +0000 (17:17 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 13 Apr 2017 09:35:32 +0000 (18:35 +0900)
1. Show meta-packages before non-meta-packages if a meta package has both.

2. Sort "ETC" packages as well

3. Rename ETC

Change-Id: Ifda046fc8f6ddcfa15fc76dfd5ccca3a100c1c78
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
tic/parser/view_parser.py

index 51f821c..a35c94d 100644 (file)
@@ -52,7 +52,9 @@ def make_view_data(pkg_group):
                             refer_count[pkg['id']] += 1
                             duplicate.add(pkg['name'])
                             meta_nodes.append(make_node(pkg, meta_info.get('category')))
-        meta_nodes.sort()
+        # Added 'zz' to non meta-package because they are to be listed last
+        meta_nodes = sorted(meta_nodes, key = lambda k: k['metaname'] if 'metaname' in k else 'zz'+k['text'])
+       meta_info['nodes'] = meta_nodes
     def make_node(pkg_info, category=None):
         n = dict(text=pkg_info['name'], nodes=[])
         if category: n['category'] = category
@@ -137,12 +139,13 @@ def make_view_data(pkg_group):
         
     #The remaining rpms are grouped into a MISC tree
     misc_info = {}
-    misc_info['text'] = 'ETC'
+    misc_info['text'] = 'Advanced (individual packages)'
     misc_info['nodes'] = []
     for k, v in pkg_dict.iteritems():
         # Pkg is not referenced from Meta-pkg
         if not v.get('meta') and refer_count[v['id']] == 0:
             misc_info['nodes'].append(make_node(v))
+    misc_info['nodes'] = sorted(misc_info['nodes'], key = lambda k: k['metaname'] if 'metaname' in k else k['text'])
 
     view_data.append(misc_info)
     logger.info('meta: %d, misc: %d', len(view_ref), len(misc_info['nodes']))