spaceforge 0.0.4__py3-none-any.whl → 0.0.5__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.
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.4'
32
- __version_tuple__ = version_tuple = (0, 0, 4)
31
+ __version__ = version = '0.0.5'
32
+ __version_tuple__ = version_tuple = (0, 0, 5)
33
33
 
34
34
  __commit_id__ = commit_id = None
spaceforge/plugin.py CHANGED
@@ -233,7 +233,7 @@ class SpaceforgePlugin(ABC):
233
233
  data: Dict[str, Any] = json.load(f)
234
234
  return data
235
235
 
236
- def send_markdown(self, markdown: str) -> None:
236
+ def send_markdown(self, markdown: str) -> bool:
237
237
  """
238
238
  Send a markdown message to the Spacelift run.
239
239
 
@@ -245,13 +245,13 @@ class SpaceforgePlugin(ABC):
245
245
  "Spacelift run is local. Not uploading markdown. Below is a preview of what would be sent"
246
246
  )
247
247
  self.logger.info(markdown)
248
- return
248
+ return True
249
249
 
250
250
  if self._spacelift_markdown_endpoint is None:
251
251
  self.logger.error(
252
252
  'API is not enabled, please export "SPACELIFT_API_TOKEN" and "TF_VAR_spacelift_graphql_endpoint".'
253
253
  )
254
- exit(1)
254
+ return False
255
255
 
256
256
  headers = {"Authorization": f"Bearer {self._api_token}"}
257
257
  body = {
@@ -266,26 +266,30 @@ class SpaceforgePlugin(ABC):
266
266
  method="POST",
267
267
  )
268
268
 
269
- with urllib.request.urlopen(req) as response:
270
- if response.status != 200:
271
- self.logger.error(
272
- f"Error getting signed URL for markdown upload: {response}"
273
- )
274
- return
275
-
276
- raw_response = response.read().decode("utf-8")
277
- self.logger.debug(raw_response)
278
- resp: Dict[str, Any] = json.loads(raw_response)
279
- if "url" not in resp or "headers" not in resp:
280
- self.logger.error(
281
- "Markdown signed url response does not contain 'url' or 'headers' key."
282
- )
283
- return
269
+ try:
270
+ with urllib.request.urlopen(req) as response:
271
+ if response.status != 200:
272
+ self.logger.error(
273
+ f"Error getting signed URL for markdown upload: {response}"
274
+ )
275
+ return False
276
+
277
+ raw_response = response.read().decode("utf-8")
278
+ self.logger.debug(raw_response)
279
+ resp: Dict[str, Any] = json.loads(raw_response)
280
+ if "url" not in resp or "headers" not in resp:
281
+ self.logger.error(
282
+ "Markdown signed url response does not contain 'url' or 'headers' key."
283
+ )
284
+ return False
284
285
 
285
- signed_url = resp["url"]
286
- headers = resp["headers"]
287
- headers["Content-Type"] = "text/markdown"
288
- headers["Content-Length"] = str(len(markdown))
286
+ signed_url = resp["url"]
287
+ headers = resp["headers"]
288
+ headers["Content-Type"] = "text/markdown"
289
+ headers["Content-Length"] = str(len(markdown))
290
+ except urllib.request.HTTPError as e:
291
+ self.logger.error(f"HTTP error occurred: {e.code} - {e.reason}")
292
+ return False
289
293
 
290
294
  # Now we upload the markdown content to the signed URL
291
295
  req = urllib.request.Request(
@@ -300,8 +304,9 @@ class SpaceforgePlugin(ABC):
300
304
  self.logger.error(
301
305
  f"Error uploading markdown content: {put_response.status}"
302
306
  )
303
- return
307
+ return False
304
308
  self.logger.debug("Markdown content uploaded successfully.")
309
+ return True
305
310
 
306
311
  def add_to_policy_input(self, input_name: str, data: Dict[str, Any]) -> None:
307
312
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spaceforge
3
- Version: 0.0.4
3
+ Version: 0.0.5
4
4
  Summary: A Python framework for building Spacelift plugins
5
5
  Home-page: https://github.com/spacelift-io/plugins
6
6
  Author: Spacelift
@@ -2,11 +2,11 @@ spaceforge/README.md,sha256=8o1Nuyasb4OxX3E7ZycyducOrR4J19bZcHrLvFeoFNg,7730
2
2
  spaceforge/__init__.py,sha256=TU-vvm15dK1ucixNW0V42eTT72x3_hmKSyxP4MC1Occ,589
3
3
  spaceforge/__main__.py,sha256=c3nAw4WBnHXIcfMlRV6Ja7r87pEhSeK-SAqiSYIasIY,643
4
4
  spaceforge/_version.py,sha256=RP_LfUd4ODnrfwn9nam8wB6bR3lM4VwmoRxK08Tkiiw,2155
5
- spaceforge/_version_scm.py,sha256=QlXZ5JTjE_pgpDaeHk0GTExkc75xUZFmd0hA7kGYCJ0,704
5
+ spaceforge/_version_scm.py,sha256=YRV1ohn6CdKEhsUOmFFMmr5UTjMv4Ydw3WJGxF2BHBs,704
6
6
  spaceforge/cls.py,sha256=3Js2i0kfWBfa9g-VthuARc3WGwrbdpiQzbQYij59dMo,5981
7
7
  spaceforge/conftest.py,sha256=U-xCavCsgRAQXqflIIOMeq9pcGbeqRviUNkEXgZol8g,2141
8
8
  spaceforge/generator.py,sha256=kwWEyVqKaOIgZI4nmu4q30ZefA7w10vj78PmROWW5V4,16484
9
- spaceforge/plugin.py,sha256=8qPDieG2i6pFBg02GYXSb06DU9xR51b20kU4X9Kv6Ic,13051
9
+ spaceforge/plugin.py,sha256=2eH--YpY1HOz9kswnOGfsT-DG73DSLUcfsppIn3HOLM,13332
10
10
  spaceforge/runner.py,sha256=aBQQLG8MFVrqCzM0X8HgERYbhLKbmlOHUPKjV7-xvpA,3163
11
11
  spaceforge/schema.json,sha256=syoxxTJuZ9Wn91vLRHeffyDi7xYHjwSZ14AheugLzhY,10336
12
12
  spaceforge/test_cls.py,sha256=nXAgbnFnGdFxrtA7vNXiePjNUASuoYW-lEuQGx9WMGs,468
@@ -25,9 +25,9 @@ spaceforge/test_runner_core.py,sha256=eNR9YOwJwv7LsMtNQ4WXXMPIW6RE_A7hUp4bCpzz1R
25
25
  spaceforge/test_runner_execution.py,sha256=BRlOApCmlpjE9YYvqHc8creSRu2vyPubzOCVXv-on0w,5335
26
26
  spaceforge/templates/binary_install.sh.j2,sha256=UjP_kAdvkkATKds2nqk4ouqLhuIfCgM_x0WQIl1hbIo,477
27
27
  spaceforge/templates/ensure_spaceforge_and_run.sh.j2,sha256=qU5UvJhxh8toLrTSH3fUv7UPFaKo7Z1mQCV_bpToDB4,458
28
- spaceforge-0.0.4.dist-info/licenses/LICENSE,sha256=wyljRrfnWY2ggQKkSCg3Nw2hxwPMmupopaKs9Kpgys8,1065
29
- spaceforge-0.0.4.dist-info/METADATA,sha256=6o_AicFSDgu2TnQZIodI7barxJODWNgfMoRtd9DyLzA,16771
30
- spaceforge-0.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
- spaceforge-0.0.4.dist-info/entry_points.txt,sha256=qawuuKBSNTGg-njnQnhxxFldFvXYAPej6bF_f3iyQ48,56
32
- spaceforge-0.0.4.dist-info/top_level.txt,sha256=eVw-Lw4Th0oHM8Gx1Y8YetyNgbNbMBU00yWs-kwGeSs,11
33
- spaceforge-0.0.4.dist-info/RECORD,,
28
+ spaceforge-0.0.5.dist-info/licenses/LICENSE,sha256=wyljRrfnWY2ggQKkSCg3Nw2hxwPMmupopaKs9Kpgys8,1065
29
+ spaceforge-0.0.5.dist-info/METADATA,sha256=ulPHA-I0fxOaA6HESFbTERDPQVPCB2WUiFXbN6_8N5w,16771
30
+ spaceforge-0.0.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
+ spaceforge-0.0.5.dist-info/entry_points.txt,sha256=qawuuKBSNTGg-njnQnhxxFldFvXYAPej6bF_f3iyQ48,56
32
+ spaceforge-0.0.5.dist-info/top_level.txt,sha256=eVw-Lw4Th0oHM8Gx1Y8YetyNgbNbMBU00yWs-kwGeSs,11
33
+ spaceforge-0.0.5.dist-info/RECORD,,