From 2d83874ee0a470f8b2552a5e295a083e2da33ce1 Mon Sep 17 00:00:00 2001
From: codedust <codedust@users.noreply.github.com>
Date: Sat, 11 Mar 2017 12:07:56 +0100
Subject: [PATCH] Config parameter for version regex

---
 app.js             | 8 +++++++-
 config_template.js | 2 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/app.js b/app.js
index 37dd7be..fb06447 100644
--- a/app.js
+++ b/app.js
@@ -113,6 +113,12 @@ var firmwarewizard = function() {
   var reRemoveSpaces = new RegExp(/ /g);
   var reStripDashes = new RegExp(/^\-+|\-+$/g);
 
+  if (config.version_regex === undefined) {
+    console.log("config.version_regex missing in config.js");
+    return;
+  }
+  var reVersionRegex = new RegExp(config.version_regex);
+
   function buildVendorModelsReverse() {
     var vendormodels_reverse = {};
 
@@ -281,7 +287,7 @@ var firmwarewizard = function() {
 
   function findVersion(name) {
     // version with optional date in it (e.g. 0.8.0~20160502)
-    var m = /-([0-9]+.[0-9]+.[0-9]+([+-][0-9]+)?(~[a-z0-9]+)?)[.-]/.exec(name);
+    var m = reVersionRegex.exec(name);
     return m ? m[1] : '';
   }
 
diff --git a/config_template.js b/config_template.js
index 444dccf..f969b21 100644
--- a/config_template.js
+++ b/config_template.js
@@ -20,6 +20,8 @@ var config = {
   vendormodels: vendormodels,
   // community prefix of the firmware images
   community_prefix: 'gluon-ffda-',
+  // firmware version regex
+  version_regex: '-([0-9]+.[0-9]+.[0-9]+([+-~][0-9]+)?)[.-]',
   // relative image paths and branch
   directories: {
     // some demo sources
-- 
GitLab