diff --git a/configure.py b/configure.py index 81d4665..935c213 100755 --- a/configure.py +++ b/configure.py @@ -121,6 +121,11 @@ class Projects(): self.projects.append(project) # now do some sanity checks + for project in self.projects: + if project.get_git_remote() != project.git_url: + logging.warning(f"{project} doesn't match remote: {project.get_git_remote()}") + exit(1) + all_macro_instances = [project.get_macro_instance() for project in self.projects] self.assert_unique(all_macro_instances) diff --git a/orders.py b/orders.py index ebac4e2..f1abad9 100644 --- a/orders.py +++ b/orders.py @@ -17,6 +17,7 @@ class Orders(): def fetch_orders(self): orders = self.fetch_stripe_orders() + self.fetch_university_orders() + self.fetch_extra_orders() + logging.info(f"total = {len(orders)}") self.orders = sorted(orders, key=lambda d: d['time']) def add_extra_project(self, git_url): @@ -90,14 +91,17 @@ class Orders(): if checkout['payment_status'] == 'paid': if 'github' in checkout['metadata']: git_url = checkout['metadata']['github'] + + if checkout['payment_intent'] in refunded_orders: + logging.warning(f"found a refunded order! {git_url}") + continue + order = { 'git_url' : git_url, 'email' : checkout['customer_details']['email'], 'time' : datetime.fromtimestamp(checkout['created']).replace(tzinfo=pytz.UTC), } orders.append(order) - if checkout['payment_intent'] in refunded_orders: - logging.warning(f"found a refunded order! {git_url}") # pagination start_id = checkout['id'] diff --git a/project.py b/project.py index fea3444..aa94e97 100644 --- a/project.py +++ b/project.py @@ -188,9 +188,12 @@ class Project(): assert len(top_verilog) == 1 return top_verilog[0] + def get_git_remote(self): + return list(git.Repo(self.local_dir).remotes[0].urls)[0] + def clone(self): if os.path.exists(self.local_dir): - git_remote = list(git.Repo(self.local_dir).remotes[0].urls)[0] + git_remote = self.get_git_remote() if self.git_url == git_remote: logging.info("git repo already exists and is correct - skipping") else: