def download_ruleset()

in ingest_suricata_rules/rules_downloader.py [0:0]


def download_ruleset(ruleset_url,url_version):
    try:
        print("Downloading latest ruleset from: ",ruleset_url)
        
        ruleset_tar_gz = ruleset_url.rsplit('/')[-1]
        ruleset_key = ruleset_folder+str(url_version)+'/'+ruleset_tar_gz
        
        response = requests.get(ruleset_url)
        orig_md5 = requests.get(ruleset_url+'.md5').content.decode('utf-8').rstrip()
        response_md5 = hashlib.md5(response.content).hexdigest()
        
        if orig_md5 == response_md5: 
            print("Verified md5 checksum. Saving file to s3")
        
            # with open(ruleset_tar_gz, "wb") as file:
            #     file.write(response.content)

            s3upload = s3.put_object(
                Bucket=bucket,
                Key=ruleset_key,
                Body=response.content
                )
            # save md5 as well
            s3upload = s3.put_object(
                Bucket=bucket,
                Key=ruleset_key+".md5",
                Body=orig_md5
                )
            saved_file = "s3://"+bucket+"/"+ruleset_key
            print("Saved files: "+saved_file +" md5: " + saved_file + ".md5" )
        else:
            print("md5 checksum mismatch." + str(orig_md5) + " vs " + str(response_md5) )
    except Exception as err:
        raise err
    
    return saved_file