autopub 1.0.0a40__py3-none-any.whl → 1.0.0a42__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
autopub/cli/__init__.py CHANGED
@@ -28,36 +28,6 @@ def check(context: AutoPubCLI):
28
28
 
29
29
  autopub = context.obj
30
30
 
31
- try:
32
- autopub.validate_config()
33
- except InvalidConfiguration as e:
34
- title = "[red]🚨 Some of the plugins have invalid configuration[/]"
35
-
36
- parts: list[RenderableType] = []
37
-
38
- for id_ in e.validation_errors:
39
- error = e.validation_errors[id_]
40
- parts.append("")
41
- parts.append(f"[bold on bright_magenta] Plugin: [/] {id_}")
42
- parts.append("")
43
-
44
- errors: list[RenderableType] = []
45
-
46
- for error in error.errors():
47
- location = " -> ".join(map(str, error["loc"]))
48
- message = error["msg"]
49
-
50
- errors.append(f"[bold on blue] {location} [/]: {message}")
51
- errors.append("")
52
-
53
- parts.append(Padding(Group(*errors), (0, 2)))
54
-
55
- content = Group(f"[red]{title}[/]", *parts)
56
-
57
- rich.print(Padding(content, (1, 1)))
58
-
59
- raise typer.Exit(1) from e
60
-
61
31
  try:
62
32
  autopub.check()
63
33
  except AutopubException as e:
@@ -146,8 +116,39 @@ def main(
146
116
  raise typer.Exit()
147
117
 
148
118
  autopub = Autopub()
149
- print("🤙 loading plugins")
119
+
120
+
150
121
  # default plugins we always want to load (?)
151
122
  autopub.load_plugins(["git", "update_changelog", "bump_version"])
152
123
 
124
+ try:
125
+ autopub.validate_config()
126
+ except InvalidConfiguration as e:
127
+ title = "[red]🚨 Some of the plugins have invalid configuration[/]"
128
+
129
+ parts: list[RenderableType] = []
130
+
131
+ for id_ in e.validation_errors:
132
+ error = e.validation_errors[id_]
133
+ parts.append("")
134
+ parts.append(f"[bold on bright_magenta] Plugin: [/] {id_}")
135
+ parts.append("")
136
+
137
+ errors: list[RenderableType] = []
138
+
139
+ for error in error.errors():
140
+ location = " -> ".join(map(str, error["loc"]))
141
+ message = error["msg"]
142
+
143
+ errors.append(f"[bold on blue] {location} [/]: {message}")
144
+ errors.append("")
145
+
146
+ parts.append(Padding(Group(*errors), (0, 2)))
147
+
148
+ content = Group(f"[red]{title}[/]", *parts)
149
+
150
+ rich.print(Padding(content, (1, 1)))
151
+
152
+ raise typer.Exit(1) from e
153
+
153
154
  context.obj = autopub
@@ -19,6 +19,8 @@ class AutopubPlugin:
19
19
  id: str
20
20
  data: dict[str, object] = {}
21
21
 
22
+ _config: ConfigType | None = None
23
+
22
24
  def validate_config(self, config: ConfigType):
23
25
  configuration_class: type[BaseModel] | None = getattr(self, "Config", None)
24
26
 
@@ -27,7 +29,12 @@ class AutopubPlugin:
27
29
 
28
30
  plugin_config = config.get(self.id, {})
29
31
 
30
- self.configuration = configuration_class.model_validate(plugin_config)
32
+ self._config = configuration_class.model_validate(plugin_config)
33
+
34
+ @property
35
+ def config(self) -> ConfigType:
36
+ assert self._config is not None
37
+ return self._config
31
38
 
32
39
  def run_command(self, command: list[str]) -> None:
33
40
  try:
autopub/plugins/github.py CHANGED
@@ -262,11 +262,11 @@ class GithubPlugin(AutopubPlugin):
262
262
  )
263
263
 
264
264
  for node in response["data"]["repository"]["discussionCategories"]["nodes"]:
265
- if node["name"] == self.configuration.discussion_category:
265
+ if node["name"] == self.config.discussion_category:
266
266
  return node["id"]
267
267
 
268
268
  raise AutopubException(
269
- f"Discussion category {self.configuration.discussion_category} not found"
269
+ f"Discussion category {self.config.discussion_category} not found"
270
270
  )
271
271
 
272
272
  def _create_discussion(self, release_info: ReleaseInfo) -> str:
@@ -327,19 +327,19 @@ class GithubPlugin(AutopubPlugin):
327
327
 
328
328
  changelog = self._get_release_message(release_info)
329
329
 
330
- message = self.configuration.comment_template_success.format(
330
+ message = self.config.comment_template_success.format(
331
331
  changelog=changelog
332
332
  )
333
333
 
334
334
  self._update_or_create_comment(message)
335
335
 
336
336
  def on_release_file_not_found(self) -> None:
337
- message = self.configuration.comment_template_missing_release
337
+ message = self.config.comment_template_missing_release
338
338
 
339
339
  self._update_or_create_comment(message)
340
340
 
341
341
  def on_release_notes_invalid(self, exception: AutopubException) -> None:
342
- message = self.configuration.comment_template_error.format(error=str(exception))
342
+ message = self.config.comment_template_error.format(error=str(exception))
343
343
 
344
344
  self._update_or_create_comment(message)
345
345
 
@@ -378,7 +378,7 @@ class GithubPlugin(AutopubPlugin):
378
378
  reviewers = [f"@{reviewer}" for reviewer in contributors["reviewers"]]
379
379
  message += f"\n\nReviewers: {', '.join(reviewers)}"
380
380
 
381
- if self.configuration.include_sponsors:
381
+ if self.config.include_sponsors:
382
382
  sponsors = self._get_sponsors()
383
383
  if sponsors["sponsors"]:
384
384
  public_sponsors = [f"@{sponsor}" for sponsor in sponsors["sponsors"]]
@@ -421,7 +421,7 @@ class GithubPlugin(AutopubPlugin):
421
421
 
422
422
  discussion_url = None
423
423
 
424
- if self.configuration.create_discussions:
424
+ if self.config.create_discussions:
425
425
  discussion_url = self._create_discussion(release_info)
426
426
 
427
427
  self._create_release(release_info, discussion_url)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autopub
3
- Version: 1.0.0a40
3
+ Version: 1.0.0a42
4
4
  Summary: Automatic package release upon pull request merge
5
5
  Home-page: https://github.com/autopub/autopub
6
6
  Author: Justin Mayer
@@ -1,19 +1,19 @@
1
1
  autopub/__init__.py,sha256=JOFsdJMarqnRydwUibnWL8JlmijG66I340q4zdcRENs,7263
2
- autopub/cli/__init__.py,sha256=77rx1yYi8adLUZAW7Rs48CNVyYe4HgSMZ7pZyIxD1iQ,3894
2
+ autopub/cli/__init__.py,sha256=pIfIQaRPM8GZ1ANIWqWBZrRmaGjRGz-HiCUlPO0_q0I,3870
3
3
  autopub/exceptions.py,sha256=gNUbiG3_fVmNjhk2kyueQHPSifNgQf0Bl6IDNvkVhxQ,1534
4
4
  autopub/plugin_loader.py,sha256=2ysITgpHGUmcb1mP1Qvs-iBX2wZxmfP9obnebThwUMA,1809
5
- autopub/plugins/__init__.py,sha256=h0VkuF4SgcISLv45KG_v8DeovDbjAjS_gt3EZPU-HMo,2112
5
+ autopub/plugins/__init__.py,sha256=vpmk0u8nu_ex8eoEtpXJe-gpqww4OnMQaIfSDGx2XDw,2264
6
6
  autopub/plugins/bump_version.py,sha256=yOXhKHAGFb1DcmeBdh5RfwkOpEYeTqMlE69HgIyUB58,1628
7
7
  autopub/plugins/git.py,sha256=d0SMLc6hwuk0eymj8aHyu3_cEd-7x4fhkwu35wPPV4k,1054
8
- autopub/plugins/github.py,sha256=zxjHHvYZIaSGUvdlMRiNL2GSPoF2j7gvrwSe5BDERJk,13736
8
+ autopub/plugins/github.py,sha256=w2wsTsSklxZopi3ePnd-F5xoT5-faPhjnx_BvdZgNCA,13687
9
9
  autopub/plugins/pdm.py,sha256=Pczye06fKg8_HMJDkEfMXQyvao9rZ7sqzTHFd6lLEpU,532
10
10
  autopub/plugins/poetry.py,sha256=d2LvW9RI7ZB3reBOXbcp1mqWmzQ06Uyg_T-MxTvlSBg,517
11
11
  autopub/plugins/update_changelog.py,sha256=g_6flOP5wocZbjOaYSayWxobL3ld8f0wT78nFtAIkFc,1586
12
12
  autopub/plugins/uv.py,sha256=goo8QxaD3FVJ1c3xOSmN1hikZTCUXN8jWNac1S5uDDY,1089
13
13
  autopub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  autopub/types.py,sha256=gY1WR93XZVFS7vf5JMSmL_h5z7zO51-rtmZ6MYsh3so,1043
15
- autopub-1.0.0a40.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
16
- autopub-1.0.0a40.dist-info/METADATA,sha256=bQdt07vWa2v7xSQQFQWdPEs7Zvfk-i44diUs3kxS-x8,992
17
- autopub-1.0.0a40.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
18
- autopub-1.0.0a40.dist-info/entry_points.txt,sha256=oeTav5NgCxif6mcZ_HeVGgGv5LzS4DwdI01nr4bO1IM,43
19
- autopub-1.0.0a40.dist-info/RECORD,,
15
+ autopub-1.0.0a42.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
16
+ autopub-1.0.0a42.dist-info/METADATA,sha256=weKaw0aGe2oYTdjkhd08h0magDg-xZaI5uF9ViY3uA4,992
17
+ autopub-1.0.0a42.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
18
+ autopub-1.0.0a42.dist-info/entry_points.txt,sha256=oeTav5NgCxif6mcZ_HeVGgGv5LzS4DwdI01nr4bO1IM,43
19
+ autopub-1.0.0a42.dist-info/RECORD,,