Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aede31358d | |||
| 693aded3ae | |||
| 35d428e7bb | |||
| 3be31ec96f |
@@ -11,7 +11,7 @@ jobs:
|
||||
FUNCTION_SCHEMA_FILE_NAME: functionSchema.json
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v4.1.2
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
@@ -9,6 +9,7 @@ from speckle_automate import (
|
||||
AutomationContext,
|
||||
execute_automate_function,
|
||||
)
|
||||
from specklepy.objects import Base
|
||||
|
||||
from flatten import flatten_base
|
||||
|
||||
@@ -31,6 +32,18 @@ class FunctionInputs(AutomateBase):
|
||||
),
|
||||
)
|
||||
|
||||
import json
|
||||
|
||||
def serialize_base(base: Base) -> str:
|
||||
"""Serializes a Base object to a JSON string."""
|
||||
# Assuming there is a method to convert base objects to dictionaries
|
||||
base_dict = base.to_dict() if hasattr(base, 'to_dict') else {}
|
||||
|
||||
# Use json.dumps() to convert the dictionary to a JSON string
|
||||
# Set `default=str` to handle any objects that are not directly serializable by default
|
||||
return json.dumps(base_dict, indent=4, default=str)
|
||||
|
||||
|
||||
|
||||
def automate_function(
|
||||
automate_context: AutomationContext,
|
||||
@@ -48,6 +61,10 @@ def automate_function(
|
||||
# the context provides a conveniet way, to receive the triggering version
|
||||
version_root_object = automate_context.receive_version()
|
||||
|
||||
# At the point in your code where you want to log the initial base object:
|
||||
initial_base_json = serialize_base(version_root_object)
|
||||
print(f"Initial base object as JSON:\n{initial_base_json}")
|
||||
|
||||
objects_with_forbidden_speckle_type = [
|
||||
b
|
||||
for b in flatten_base(version_root_object)
|
||||
|
||||
Reference in New Issue
Block a user