importrequestsimportconcurrent.futuresdefdelete_defect(api_token,project_code,defect_id):base_url="https://api.qase.io/v1/defect"url=f"{base_url}/{project_code}/{defect_id}"headers={"accept":"application/json","Token":api_token}response=requests.delete(url,headers=headers)return(defect_id,response.text)defdelete_defects(api_token,project_code,defect_ids):defect_ids=parse_defect_ids(defect_ids)withconcurrent.futures.ThreadPoolExecutor()asexecutor:futures=[executor.submit(delete_defect,api_token,project_code,defect_id)fordefect_idindefect_ids]forfutureinconcurrent.futures.as_completed(futures):defect_id,response_text=future.result()print(f"Deleted defect with ID {defect_id}. Response: {response_text}")defparse_defect_ids(defect_ids):result=set()forpartindefect_ids.split(','):if'-'inpart:start,end=map(int,part.split('-'))result.update(range(start,end+1))else:result.add(int(part))returnresultdefmain():api_token=input("Enter your Qase API token (get it from: https://app.qase.io/user/api/token): ")project_code=input("Enter the project code: ")defect_ids=input("Enter defect IDs to delete (Eg: 1,5,9-16,24-29,32): ")delete_defects(api_token,project_code,defect_ids)if__name__=="__main__":main()
Warning
LINK
You are about to visit a link which has been flagged with the above content warnings. Do you wish to continue?