Fixed sdk from local file installation
[src/xds/xds-server.git] / scripts / sdks / agl / db-dump
index 5c040ea..ec2b1d8 100755 (executable)
@@ -1,6 +1,6 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 #
-#/**************************************************************************
+# /**************************************************************************
 # * Copyright 2017-2018 IoT.bzh
 # *
 # * author: Romain Forlot <romain.forlot@iot.bzh>
@@ -46,10 +46,11 @@ SCRIPT_PATH = os.path.dirname(os.path.abspath(
 ENV = subprocess.check_output(
     [os.path.join(SCRIPT_PATH, './_env-init.sh'), '-print']).splitlines()
 
+SDK_ROOT_DIR = None
 for elt in ENV:
-    k, v = elt.split('=', 1)
+    k, v = elt.decode().split('=', 1)
     if k == 'SDK_ROOT_DIR':
-        SDK_ROOT_DIR = v
+        SDK_ROOT_DIR = v.rstrip('/')
     elif k == 'SDK_ENV_SETUP_FILENAME':
         SDK_ENV_SETUP_FILENAME = v
 
@@ -70,6 +71,7 @@ SDK_DB_JSON = json.load(open(SDK_DB_FILEPATH, 'r'))
 
 for one_sdk in SDK_DB_JSON:
     one_sdk['status'] = 'Not Installed'
+    one_sdk['uuid'] = ''
 
 INSTALLED_SDK = []
 for root, dirs, files in os.walk(SDK_ROOT_DIR):
@@ -96,14 +98,17 @@ for root, dirs, files in os.walk(SDK_ROOT_DIR):
 
 for one_sdk in INSTALLED_SDK:
     logging.debug("Processing %s", one_sdk['ENV_FILE'])
-    PROFILE = one_sdk['ENV_FILE'].split('/')[3]
-    VERSION = one_sdk['ENV_FILE'].split('/')[4]
-    ARCH = one_sdk['ENV_FILE'].split('/')[5]
+    envFile = one_sdk['ENV_FILE'].split(SDK_ROOT_DIR+'/')[1]
+    PROFILE = envFile.split('/')[0]
+    VERSION = envFile.split('/')[1]
+    ARCH = envFile.split('/')[2]
     DIR = os.path.dirname(one_sdk['ENV_FILE'])
     if PROFILE == '' or VERSION == '' or ARCH == '' or DIR == '':
         logging.debug('Path not compliant, skipping')
         continue
 
+    UUID = os.path.basename(os.path.normpath(DIR))
+
     SDK_DATE = ''
     for line in open(one_sdk['VERSION_FILE']).readlines():
         if line.startswith('Timestamp'):
@@ -124,6 +129,7 @@ for one_sdk in INSTALLED_SDK:
             sdk['date'] = SDK_DATE
             sdk['setupFile'] = one_sdk['ENV_FILE']
             sdk['path'] = DIR
+            sdk['uuid'] = UUID
             break
 
     if not found:
@@ -131,6 +137,7 @@ for one_sdk in INSTALLED_SDK:
                       PROFILE + '-' + ARCH + '-' + VERSION)
         NEW_SDK = {
             'name': PROFILE + '-' + ARCH + '-' + VERSION,
+            'uuid': UUID,
             'description': 'AGL SDK ' + ARCH + ' (version ' + VERSION + ')',
             'profile': PROFILE,
             'version': VERSION,