| ... | ... |
@@ -1,13 +1,11 @@ |
| 1 | 1 |
{
|
| 2 | 2 |
"iso" : {
|
| 3 |
- "order" : 0, |
|
| 4 | 3 |
"title" : "ISO Packages", |
| 5 | 4 |
"file" : "packages_iso.json", |
| 6 | 5 |
"visible" : false, |
| 7 | 6 |
"include" : "none" |
| 8 | 7 |
}, |
| 9 | 8 |
"micro" : {
|
| 10 |
- "order" : 1, |
|
| 11 | 9 |
"title" : "1. Photon Micro", |
| 12 | 10 |
"file" : "packages_micro.json", |
| 13 | 11 |
"visible" : true, |
| ... | ... |
@@ -15,21 +13,18 @@ |
| 15 | 15 |
|
| 16 | 16 |
}, |
| 17 | 17 |
"minimal" : {
|
| 18 |
- "order" : 2, |
|
| 19 | 18 |
"title" : "2. Photon Minimal", |
| 20 | 19 |
"file" : "packages_minimal.json", |
| 21 | 20 |
"visible" : true, |
| 22 | 21 |
"include" : "none" |
| 23 | 22 |
}, |
| 24 | 23 |
"full" : {
|
| 25 |
- "order" : 3, |
|
| 26 | 24 |
"title" : "3. Photon Full", |
| 27 | 25 |
"file" : "packages_full.json", |
| 28 | 26 |
"visible" : true, |
| 29 | 27 |
"include" : "minimal" |
| 30 | 28 |
}, |
| 31 | 29 |
"extra" : {
|
| 32 |
- "order" : 4, |
|
| 33 | 30 |
"title" : "Extra packages not installed.", |
| 34 | 31 |
"file" : "packages_extra.json", |
| 35 | 32 |
"visible" : false, |
| ... | ... |
@@ -1,16 +1,14 @@ |
| 1 | 1 |
{
|
| 2 | 2 |
"iso" : {
|
| 3 |
- "order" : 0, |
|
| 4 | 3 |
"title" : "ISO Packages", |
| 5 | 4 |
"file" : "packages_iso.json", |
| 6 | 5 |
"visible" : false, |
| 7 | 6 |
"include" : "none" |
| 8 | 7 |
}, |
| 9 | 8 |
"micro" : {
|
| 10 |
- "order" : 1, |
|
| 11 | 9 |
"title" : "Photon Micro", |
| 12 | 10 |
"file" : "packages_micro.json", |
| 13 | 11 |
"visible" : true, |
| 14 | 12 |
"include" : "none" |
| 15 | 13 |
} |
| 16 |
-} |
|
| 17 | 14 |
\ No newline at end of file |
| 15 |
+} |
| ... | ... |
@@ -1,16 +1,14 @@ |
| 1 | 1 |
{
|
| 2 | 2 |
"iso" : {
|
| 3 |
- "order" : 0, |
|
| 4 | 3 |
"title" : "ISO Packages", |
| 5 | 4 |
"file" : "packages_iso.json", |
| 6 | 5 |
"visible" : false, |
| 7 | 6 |
"include" : "none" |
| 8 | 7 |
}, |
| 9 | 8 |
"minimal" : {
|
| 10 |
- "order" : 1, |
|
| 11 | 9 |
"title" : "Photon Minimal", |
| 12 | 10 |
"file" : "packages_minimal.json", |
| 13 | 11 |
"visible" : true, |
| 14 | 12 |
"include" : "none" |
| 15 | 13 |
} |
| 16 |
-} |
|
| 17 | 14 |
\ No newline at end of file |
| 15 |
+} |
| ... | ... |
@@ -6,6 +6,7 @@ |
| 6 | 6 |
|
| 7 | 7 |
|
| 8 | 8 |
import json |
| 9 |
+import collections |
|
| 9 | 10 |
|
| 10 | 11 |
class JsonWrapper(object): |
| 11 | 12 |
|
| ... | ... |
@@ -14,7 +15,7 @@ class JsonWrapper(object): |
| 14 | 14 |
|
| 15 | 15 |
def read(self): |
| 16 | 16 |
json_data = open(self.filename) |
| 17 |
- self.data = json.load(json_data) |
|
| 17 |
+ self.data = json.load(json_data, object_pairs_hook=collections.OrderedDict) |
|
| 18 | 18 |
json_data.close() |
| 19 | 19 |
return self.data |
| 20 | 20 |
|
| ... | ... |
@@ -46,7 +46,7 @@ class PackageSelector(object): |
| 46 | 46 |
def load_package_list(self, options_file): |
| 47 | 47 |
json_wrapper_option_list = JsonWrapper(options_file) |
| 48 | 48 |
option_list_json = json_wrapper_option_list.read() |
| 49 |
- options_sorted = sorted(option_list_json.items(), key=lambda item: item[1]['order']) |
|
| 49 |
+ options_sorted = option_list_json.items() |
|
| 50 | 50 |
|
| 51 | 51 |
self.package_menu_items = [] |
| 52 | 52 |
base_path = os.path.dirname(options_file) |
| ... | ... |
@@ -85,7 +85,7 @@ def create_rpm_list_to_copy_in_iso(build_install_option): |
| 85 | 85 |
base_path = os.path.dirname(build_install_option) |
| 86 | 86 |
json_wrapper_option_list = JsonWrapper(build_install_option) |
| 87 | 87 |
option_list_json = json_wrapper_option_list.read() |
| 88 |
- options_sorted = sorted(option_list_json.items(), key=lambda item: item[1]['order']) |
|
| 88 |
+ options_sorted = option_list_json.items() |
|
| 89 | 89 |
packages = [] |
| 90 | 90 |
for install_option in options_sorted: |
| 91 | 91 |
file_path = os.path.join(base_path, install_option[1]["file"]) |
| ... | ... |
@@ -150,7 +150,7 @@ if __name__ == '__main__': |
| 150 | 150 |
# Check the installation type |
| 151 | 151 |
json_wrapper_option_list = JsonWrapper(options.package_list_file) |
| 152 | 152 |
option_list_json = json_wrapper_option_list.read() |
| 153 |
- options_sorted = sorted(option_list_json.items(), key=lambda item: item[1]['order']) |
|
| 153 |
+ options_sorted = option_list_json.items() |
|
| 154 | 154 |
base_path = os.path.dirname(options.package_list_file) |
| 155 | 155 |
|
| 156 | 156 |
packages = [] |
| ... | ... |
@@ -9,6 +9,7 @@ from PackageManager import PackageManager |
| 9 | 9 |
import json |
| 10 | 10 |
import sys |
| 11 | 11 |
from SpecUtils import Specutils |
| 12 |
+import collections |
|
| 12 | 13 |
|
| 13 | 14 |
def main(): |
| 14 | 15 |
usage = "Usage: %prog [options] <package name>" |
| ... | ... |
@@ -172,9 +173,9 @@ def buildPackagesFromGivenJSONFile(inputJSONFile,buildOption,logger, buildThread |
| 172 | 172 |
def get_all_package_names(build_install_option): |
| 173 | 173 |
base_path = os.path.dirname(build_install_option) |
| 174 | 174 |
jsonData = open(build_install_option) |
| 175 |
- option_list_json = json.load(jsonData) |
|
| 175 |
+ option_list_json = json.load(jsonData, object_pairs_hook=collections.OrderedDict) |
|
| 176 | 176 |
jsonData.close() |
| 177 |
- options_sorted = sorted(option_list_json.items(), key=lambda item: item[1]['order']) |
|
| 177 |
+ options_sorted = option_list_json.items() |
|
| 178 | 178 |
packages = [] |
| 179 | 179 |
|
| 180 | 180 |
for install_option in options_sorted: |