Skip to content
Snippets Groups Projects
Commit 2fdb647b authored by Frederic Danis's avatar Frederic Danis
Browse files

FOSSology: Re-use previous results from same group id

License scan for `pkg/dash` and `tests\dash` should not re-use the scan
results from a previous scan of the other project.

Separate license scan using different group id, which is done using
different users.
parent 120ebae6
No related branches found
No related tags found
2 merge requests!169FOSSology: Re-use previous results from same group id,!93WIP: documentation-builder: Rebase on Apertis instead of Debian Buster
Pipeline #194132 passed
......@@ -363,8 +363,9 @@ def main():
name = name[:-len(suffix)]
foss_project = fossology.ApertisFossology(args.fossology_host, args.fossology_username, args.fossology_password)
foss_project.upload(args.source_url, args.source_branch, name)
reuse_id, reuse_group = foss_project.get_previous_upload_analysis_ids(name)
foss_project.analyse(reuse_id, reuse_group)
group_id = foss_project.get_group_id()
reuse_id = foss_project.get_previous_upload_analysis_id(name, group_id)
foss_project.analyse(reuse_id, group_id)
report = foss_project.get_report('dep5')
print(report, file=f)
# open for parsing as binary since copyrights may (incorrectly) contain binary data
......
......@@ -44,7 +44,13 @@ class ApertisFossology:
print_err(".", end = '', flush = True)
time.sleep(1)
def get_previous_upload_analysis_ids(self, name):
def get_group_id(self):
resp = self.session.get(f"{self.server}/jobs?upload={self.upload_id}")
if resp.status_code != 200:
raise Exception('GET /jobs?upload={} {}'.format(self.upload_id, resp.status_code))
return resp.json()[-1]["groupId"]
def get_previous_upload_analysis_id(self, name, group_id):
last_deleted_upload_id = 0
resp = self.session.get(f"{self.server}/jobs")
if resp.status_code != 200:
......@@ -54,11 +60,12 @@ class ApertisFossology:
if job["name"] == "Delete":
last_deleted_upload_id = job["uploadId"]
elif (job["name"] == name and
job["groupId"] == group_id and
job["uploadId"] != self.upload_id and
job["uploadId"] != last_deleted_upload_id):
return job["uploadId"], job["groupId"]
return job["uploadId"]
return 0, 0
return 0
def upload(self, url, branch, name):
print_err("Uploading {} branch {}".format(url, branch))
......@@ -183,9 +190,11 @@ if __name__ == "__main__":
project.upload(source_url, source_branch, name)
reuse_id, reuse_group = project.get_previous_upload_analysis_ids(name)
group_id = project.get_group_id()
reuse_id = project.get_previous_upload_analysis_id(name, group_id)
project.analyse(reuse_id, reuse_group)
project.analyse(reuse_id, group_id)
report = project.get_report('dep5')
print(report)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment