From c9c31f843cc08350d337815bec0e9bd5281a8ccf Mon Sep 17 00:00:00 2001 From: William Braeckman Date: Wed, 22 Jan 2025 15:25:14 +0100 Subject: [PATCH] [IMP] runbot: support github display for branch search Supports the format (?owner)/repo#id in the `_search_dname` method. --- runbot/models/branch.py | 2 +- runbot/tests/test_branch.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/runbot/models/branch.py b/runbot/models/branch.py index 68cc2ba0..6aea3c3f 100644 --- a/runbot/models/branch.py +++ b/runbot/models/branch.py @@ -51,7 +51,7 @@ class Branch(models.Model): def _search_dname(self, operator, value): # Match format (owner?, repo, branch) owner = repo = branch = None - if (m := re.match(r'(?:([\w-]+)/)?([\w-]+):([\w\.-]+)', value)): + if (m := re.match(r'(?:([\w-]+)/)?([\w-]+)[:#]([\w\.-]+)', value)): owner, repo, branch = m.groups() # Match PR url format if (m := re.search(r'/([\w-]+)/([\w-]+)/pull/(\d+)', value)): diff --git a/runbot/tests/test_branch.py b/runbot/tests/test_branch.py index f52384c1..b4d478c6 100644 --- a/runbot/tests/test_branch.py +++ b/runbot/tests/test_branch.py @@ -35,6 +35,10 @@ class TestBranch(RunbotCase): self.branch_server, self.Branch.search([('dname', '=', self.branch_server.dname)]), ) + self.assertEqual( + self.branch_server, + self.Branch.search([('dname', '=', self.branch_server.dname.replace(':', '#'))]), + ) # Basic pr self.assertEqual( self.dev_pr,