Merge lp:~jelmer/brz/create-project into lp:brz/3.2

Proposed by Jelmer Vernooij
Status: Superseded
Proposed branch: lp:~jelmer/brz/create-project
Merge into: lp:brz/3.2
Diff against target: 46 lines (+23/-1)
1 file modified
breezy/propose.py (+23/-1)
To merge this branch: bzr merge lp:~jelmer/brz/create-project
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Review via email: mp+409002@code.launchpad.net

This proposal has been superseded by a proposal from 2022-10-27.

Commit message

Add a create_project function for use in silver_platter.

Description of the change

Add a create_project function for use in silver_platter.

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) :
review: Approve
lp:~jelmer/brz/create-project updated
7556. By Jelmer Vernooij

Merge lp:brz/3.3

Unmerged revisions

7556. By Jelmer Vernooij

Merge lp:brz/3.3

7555. By Jelmer Vernooij

Add create_project function.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/propose.py'
2--- breezy/propose.py 2021-04-03 12:58:34 +0000
3+++ breezy/propose.py 2021-09-22 14:43:17 +0000
4@@ -199,6 +199,10 @@
5 """
6 raise NotImplementedError(self.post_comment)
7
8+ def reopen(self):
9+ """Reopen this merge proposal."""
10+ raise NotImplementedError(self.reopen)
11+
12
13 class MergeProposalBuilder(object):
14 """Merge proposal creator.
15@@ -337,7 +341,7 @@
16 url, possible_transports=[branch.control_transport])
17
18 @classmethod
19- def probe_from_url(cls, url, possible_hosters=None):
20+ def probe_from_url(cls, url, possible_transports=None):
21 """Create a Hoster object if this hoster knows about a URL."""
22 raise NotImplementedError(cls.probe_from_url)
23
24@@ -454,4 +458,22 @@
25 raise UnsupportedHoster(url)
26
27
28+def create_project(url: str) -> None:
29+ """Create a project.
30+
31+ Args:
32+ url: URL of project to create
33+ """
34+ for hoster_cls in [hoster_cls for name, hoster_cls in hosters.items()]:
35+ try:
36+ hoster = hoster_cls.probe_from_url(url)
37+ except UnsupportedHoster:
38+ pass
39+ else:
40+ hoster.create_project(urlutils.URL.from_string(url).path)
41+ break
42+ else:
43+ raise UnsupportedHoster(url)
44+
45+
46 hosters = registry.Registry()

Subscribers

People subscribed via source and target branches