Generate branch to obs project mapping file for dashboard 95/165295/1
authorhyokeun <hyokeun.jeon@samsung.com>
Thu, 28 Dec 2017 04:58:15 +0000 (13:58 +0900)
committerhyokeun <hyokeun.jeon@samsung.com>
Thu, 28 Dec 2017 04:58:15 +0000 (13:58 +0900)
Change-Id: I3b8e5d4c81bd8a555eca9ce14fca004b88b9d625

common/mapping.py
job_update_git_obs_mapping_for_dashboard.py

index 2a23763..e2d6fe2 100644 (file)
@@ -85,7 +85,7 @@ class Mapping(object):
                 if brch.submission == 'N':
                     continue
                 else:
-                    brch_dict = {}
+                    brch_dict = {'Branch_name': brch.__getitem__('name')}
                     for key in key_list:
                         brch_dict[key] = brch.__getitem__(key) or None
                     mapping.append(self.__encode_to_ascii(brch_dict))
index 9f46ffc..21307d5 100755 (executable)
@@ -126,6 +126,27 @@ def generate_abs_git_mapping(prjdir, target_dir):
     with open(target_filename, "w") as f:
         f.write(json.dumps(git_obs_mapping_abs_info))
 
+#Handle BRANCH-OBS project mapping
+def generate_branch_obs_mapping(prjdir, target_dir):
+    mapping_list = git_obs_map_full_list()
+
+    list_all = {}
+    for item in mapping_list:
+        if 'OBS_project' not in item or 'Branch_name' not in item:
+            continue
+        _branch = item['Branch_name']
+        _obs_prj = item['OBS_project']
+        if _obs_prj not in list_all:
+            list_all[_obs_prj] = []
+        for _br in _branch.split(','):
+            if _br not in list_all[_obs_prj]:
+                list_all[_obs_prj].append(_br)
+
+    target_filename = os.path.join(target_dir, "obs_project_branch_mapping.json")
+
+    with open(target_filename, "w") as f:
+        f.write(json.dumps(list_all))
+
 ###########################################################
 # test code
 #target_dir = ".dashboard/git_obs_mapping"
@@ -150,6 +171,7 @@ target_dir = ".dashboard/git_obs_mapping"
 generate_mapping(prjdir, target_dir)
 generate_fork_git_mapping(prjdir, target_dir)
 generate_abs_git_mapping(prjdir, target_dir)
+generate_branch_obs_mapping(prjdir, target_dir)
 
 sync_dest = os.path.join(os.getenv("IMG_SYNC_DEST_BASE"), "snapshots", target_dir)
 # sync to the download server.