duplicate check
diff --git a/configure.py b/configure.py index 487f91a..20e4280 100755 --- a/configure.py +++ b/configure.py
@@ -1,6 +1,6 @@ #!/usr/bin/env python3 from urllib.parse import urlparse -import argparse, requests, base64, zipfile, io, logging, pickle, shutil, sys, os +import argparse, requests, base64, zipfile, io, logging, pickle, shutil, sys, os, collections # pipe handling from signal import signal, SIGPIPE, SIG_DFL @@ -120,6 +120,13 @@ return [filler_project_url] + project_urls + def check_dupes(self): + project_urls = self.get_project_urls() + duplicates = [item for item, count in collections.Counter(project_urls).items() if count > 1] + if duplicates: + logging.error("duplicate projects: {}".format(duplicates)) + exit(1) + # the latest artifact isn't necessarily the one related to the latest commit, as github # could have taken longer to process an older commit than a newer one. # so iterate through commits and return the artifact that matches @@ -447,6 +454,8 @@ log.addHandler(ch) projects = Projects(update_cache=args.update_projects, test=args.test, update_single=args.update_single) + projects.check_dupes() + caravel = CaravelConfig(projects, num_projects=args.limit_num_projects) if args.update_caravel: