in jobs/looker-utils/looker_utils/main.py [0:0]
def delete_branches(ctx, project, inactive_days, exclude):
sdk = ctx.obj["SDK"]
date_cutoff = datetime.now().replace(tzinfo=timezone.utc) - timedelta(
days=inactive_days
)
# switch to dev mode
sdk.update_session(models.WriteApiSession(workspace_id="dev"))
for lookml_project in project:
branches = sdk.all_git_branches(project_id=lookml_project)
for branch in branches:
commit_date = datetime.fromtimestamp(branch.commit_at, timezone.utc)
if (
commit_date < date_cutoff
and not branch.name.startswith("dev")
and branch.name not in exclude
):
print(
f"{branch.name} in {lookml_project}, last commit on {commit_date}"
)
sdk.delete_git_branch(
project_id=lookml_project, branch_name=branch.name
)