from common.git import clone_gitproject
from common.git_obs_mapping import GitObsMapping
+from common.mapping import git_obs_map_full_list
+
#================================================================================
# generate_mapping()
#================================================================================
with open(target_filename, "w") as f:
f.write(json.dumps(git_obs_mapping_info))
+#Handle forked git
+def generate_fork_git_mapping(prjdir, target_dir):
+ mapping = git_obs_map_full_list()
+ git_obs_mapping_fork_info = {}
+ for item in mapping:
+ # We only care about defined git repositories
+ if ('OBS_project' not in item) or (not item.get('OBS_project')) \
+ or ('Project_name' not in item) or (not item.get('Project_name')):
+ continue
+ git_repo = item.get('Project_name')
+ package_name = item.get('OBS_package', None)
+ if not package_name:
+ package_name = os.path.basename(git_repo)
+ obs_project = item.get('OBS_project')
+ if item.get('Project_name') not in git_obs_mapping_fork_info:
+ git_obs_mapping_fork_info[git_repo] = {obs_project: package_name}
+ else:
+ git_obs_mapping_fork_info[git_repo][obs_project] = package_name
+
+ target_filename = os.path.join(target_dir, "mapping_fork.json")
+
+ with open(target_filename, "w") as f:
+ f.write(json.dumps(git_obs_mapping_fork_info))
+
###########################################################
# test code
#target_dir = ".dashboard/git_obs_mapping"
target_dir = ".dashboard/git_obs_mapping"
generate_mapping(prjdir, target_dir)
+generate_fork_git_mapping(prjdir, target_dir)
sync_dest = os.path.join(os.getenv("IMG_SYNC_DEST_BASE"), "snapshots", target_dir)
# sync to the download server.
sync(target_dir, sync_dest)
+