@@ -85,7 +85,8 @@ def zip_create_archive(zip_file, dir_name):
85
85
86
86
def jsonld_update_project_name (data , name ):
87
87
content_array = data ['@graph' ]
88
-
88
+ if not content_array :
89
+ return
89
90
for counter , array_entry in enumerate (content_array ):
90
91
if array_entry ['@type' ][0 ] == 'https://blackducksoftware.github.io/bdio#Project' :
91
92
logging .debug (counter )
@@ -94,10 +95,19 @@ def jsonld_update_project_name(data, name):
94
95
content_array [counter ]["https://blackducksoftware.github.io/bdio#hasName" ][0 ]['@value' ] = name
95
96
logging .debug (content_array [counter ])
96
97
98
+ def jsonld_update_version_name_in_header (data , version ):
99
+ scan_name_dict = {k :v [0 ].get ('@value' ) for (k ,v ) in data .items () if k == 'https://blackducksoftware.github.io/bdio#hasName' }
100
+ if not scan_name_dict :
101
+ return
102
+ version_link = scan_name_dict .popitem ()[1 ].split ('/' )
103
+ version_link [1 ] = version
104
+ version_list = [{'@value' :'/' .join (version_link )}]
105
+ data .update ({'https://blackducksoftware.github.io/bdio#hasName' :version_list })
97
106
98
107
def jsonld_update_project_version (data , version ):
99
108
content_array = data ['@graph' ]
100
-
109
+ if not content_array :
110
+ return
101
111
for counter , array_entry in enumerate (content_array ):
102
112
if array_entry ['@type' ][0 ] == 'https://blackducksoftware.github.io/bdio#Project' :
103
113
logging .debug (counter )
@@ -131,14 +141,17 @@ def bdio_update_project_version():
131
141
zip_extract_files (os .path .join (bdio_dir , file ), temp_dir )
132
142
os .chdir (temp_dir )
133
143
output_bdio = os .path .join (temp_dir , file )
134
- jsonld_files = [y for y in os .listdir (temp_dir ) if y .split ( '-' ). pop ( 1 ) == 'entry' ]
144
+ jsonld_files = [y for y in os .listdir (temp_dir ) if y .endswith ( '.jsonld' ) ]
135
145
for jsonld_file in jsonld_files :
136
146
jsonld_path = os .path .join (temp_dir , jsonld_file )
137
147
data = read_json_object (jsonld_path )
138
148
jsonld_update_project_name (data , project_name )
139
- jsonld_update_project_version (data , target_version )
149
+ if jsonld_file .split ('-' )[1 ] == 'header.jsonld' :
150
+ jsonld_update_version_name_in_header (data , target_version )
151
+ else :
152
+ jsonld_update_project_version (data ,target_version )
140
153
write_json_file (jsonld_path , data )
141
- zip_create_archive (output_bdio , temp_dir )
154
+ zip_create_archive (output_bdio , temp_dir )
142
155
shutil .copy (output_bdio , renamed_directory )
143
156
print ('Cleaning up temp directory ' )
144
157
do_refresh ('temp' )
0 commit comments