Skip to content
Snippets Groups Projects
Commit c5ae1abd authored by codedust's avatar codedust
Browse files

Refactor device category code

parent 70e77666
Branches
No related tags found
No related merge requests found
...@@ -140,53 +140,24 @@ var firmwarewizard = function() { ...@@ -140,53 +140,24 @@ var firmwarewizard = function() {
PREVIEW_PICTURES_DIR = config.preview_pictures; PREVIEW_PICTURES_DIR = config.preview_pictures;
} }
function merge_device_list(obj1, obj2) { var enabled_device_categories = ['recommended'];
// Merge obj2 in obj1 if ("enabled_device_categories" in config) {
for (var vendor_name in obj2) { enabled_device_categories = config.enabled_device_categories;
if (!(vendor_name in obj1)) {
obj1[vendor_name] = obj2[vendor_name];
continue;
}
for (var device_name in obj2[vendor_name]) {
if (!(device_name in obj1[vendor_name])) {
obj1[vendor_name][device_name] = obj2[vendor_name][device_name];
continue;
}
for (var revision in obj2[vendor_name][device_name]) {
obj1[vendor_name][device_name][revision] = obj2[vendor_name][device_name][revision];
}
}
}
}
function buildModelList() {
var device_list = {}
if (!("enabled_device_categories" in config)) {
return config.vendormodels.recommended;
}
for (var i=0; i<config.enabled_device_categories.length; i++) {
merge_device_list(device_list, config.vendormodels[config.enabled_device_categories[i]]);
}
return device_list;
} }
function buildVendorModelsReverse() { function buildVendorModelsReverse() {
var vendormodels_reverse = {}; var vendormodels_reverse = {};
// create a map of {match : [{vendor, model, default-revision}, ... ], ...} for (var device_category in config.vendormodels) {
var vendormodels = buildModelList() for (var vendor in config.vendormodels[device_category]) {
for (var vendor in vendormodels) { var models = config.vendormodels[device_category][vendor];
var models = vendormodels[vendor];
for (var model in models) { for (var model in models) {
var match = models[model]; var match = models[model];
if (typeof match == 'string') { if (typeof match == 'string') {
addArray(vendormodels_reverse, match, {'vendor': vendor, 'model': model, 'revision': ''}); addArray(vendormodels_reverse, match, {'vendor': vendor, 'model': model, 'revision': '', category: device_category});
} else for (var m in match) { } else for (var m in match) {
addArray(vendormodels_reverse, m, {'vendor': vendor, 'model': model, 'revision': match[m]}); addArray(vendormodels_reverse, m, {'vendor': vendor, 'model': model, 'revision': match[m], category: device_category});
}
} }
} }
} }
...@@ -394,6 +365,11 @@ var firmwarewizard = function() { ...@@ -394,6 +365,11 @@ var firmwarewizard = function() {
return; return;
} }
if (enabled_device_categories.indexOf(device.category) == -1) {
// the category is not in the list of enabled categories
return;
}
var strippedFilename = filename; var strippedFilename = filename;
strippedFilename = strippedFilename.replace(config.community_prefix, '-'); strippedFilename = strippedFilename.replace(config.community_prefix, '-');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment