From 2072cef5d36727eb7db32bd925e74825bf13a6fe Mon Sep 17 00:00:00 2001 From: Chris Mackey Date: Fri, 12 Jan 2024 10:24:05 -0800 Subject: [PATCH] fix(create): Enable Set Story to use longest list logic --- .../json/HB_Set_Story.json | 6 +++--- honeybee_grasshopper_core/src/HB Set Story.py | 9 +++++---- .../user_objects/HB Set Story.ghuser | Bin 3677 -> 3695 bytes 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/honeybee_grasshopper_core/json/HB_Set_Story.json b/honeybee_grasshopper_core/json/HB_Set_Story.json index 6eae7fe..f86db2c 100644 --- a/honeybee_grasshopper_core/json/HB_Set_Story.json +++ b/honeybee_grasshopper_core/json/HB_Set_Story.json @@ -1,5 +1,5 @@ { - "version": "1.7.0", + "version": "1.7.1", "nickname": "SetStory", "outputs": [ [ @@ -21,7 +21,7 @@ "default": null }, { - "access": "item", + "access": "list", "name": "_story", "description": "Text for the story identifier to which the rooms belong.", "type": "string", @@ -29,7 +29,7 @@ } ], "subcategory": "0 :: Create", - "code": "\n\ntry: # import the honeybee-energy extension\n from honeybee.room import Room\nexcept ImportError as e:\n raise ImportError('\\nFailed to import honeybee:\\n\\t{}'.format(e))\n\ntry: # import the ladybug_{{cad}} dependencies\n from ladybug_{{cad}}.{{plugin}} import all_required_inputs\nexcept ImportError as e:\n raise ImportError('\\nFailed to import ladybug_{{cad}}:\\n\\t{}'.format(e))\n\n\nif all_required_inputs(ghenv.Component):\n rooms = []\n for i, room in enumerate(_rooms):\n assert isinstance(room, Room), \\\n 'Expected honeybee room. Got {}.'.format(type(room))\n room_dup = room.duplicate()\n room_dup.story = _story\n rooms.append(room_dup)\n", + "code": "\n\ntry: # import the honeybee-energy extension\n from honeybee.room import Room\nexcept ImportError as e:\n raise ImportError('\\nFailed to import honeybee:\\n\\t{}'.format(e))\n\ntry: # import the ladybug_{{cad}} dependencies\n from ladybug_{{cad}}.{{plugin}} import all_required_inputs, longest_list\nexcept ImportError as e:\n raise ImportError('\\nFailed to import ladybug_{{cad}}:\\n\\t{}'.format(e))\n\n\nif all_required_inputs(ghenv.Component):\n rooms = []\n for i, room in enumerate(_rooms):\n assert isinstance(room, Room), \\\n 'Expected honeybee room. Got {}.'.format(type(room))\n story_id = longest_list(_story, i)\n room_dup = room.duplicate()\n room_dup.story = story_id\n rooms.append(room_dup)\n", "category": "Honeybee", "name": "HB Set Story", "description": "Set text for the story identifier for honeybee Rooms.\n_\nRooms sharing the same story identifier are considered part of the same story\nin a Model.\n-" diff --git a/honeybee_grasshopper_core/src/HB Set Story.py b/honeybee_grasshopper_core/src/HB Set Story.py index 20c50ca..b66f400 100644 --- a/honeybee_grasshopper_core/src/HB Set Story.py +++ b/honeybee_grasshopper_core/src/HB Set Story.py @@ -17,7 +17,7 @@ Args: _rooms: Honeybee Rooms to which the input _story should be assigned. _story: Text for the story identifier to which the rooms belong. - + Returns: report: ... rooms: The input Rooms with their stories set. @@ -25,7 +25,7 @@ ghenv.Component.Name = 'HB Set Story' ghenv.Component.NickName = 'SetStory' -ghenv.Component.Message = '1.7.0' +ghenv.Component.Message = '1.7.1' ghenv.Component.Category = 'Honeybee' ghenv.Component.SubCategory = '0 :: Create' ghenv.Component.AdditionalHelpFromDocStrings = '0' @@ -37,7 +37,7 @@ raise ImportError('\nFailed to import honeybee:\n\t{}'.format(e)) try: # import the ladybug_rhino dependencies - from ladybug_rhino.grasshopper import all_required_inputs + from ladybug_rhino.grasshopper import all_required_inputs, longest_list except ImportError as e: raise ImportError('\nFailed to import ladybug_rhino:\n\t{}'.format(e)) @@ -47,6 +47,7 @@ for i, room in enumerate(_rooms): assert isinstance(room, Room), \ 'Expected honeybee room. Got {}.'.format(type(room)) + story_id = longest_list(_story, i) room_dup = room.duplicate() - room_dup.story = _story + room_dup.story = story_id rooms.append(room_dup) diff --git a/honeybee_grasshopper_core/user_objects/HB Set Story.ghuser b/honeybee_grasshopper_core/user_objects/HB Set Story.ghuser index c1d22b8918487316bf77b052960044eddd8de8eb..c0ce5b6a6254fc9208c45946241958901055b68b 100644 GIT binary patch literal 3695 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 NL|z`E;)A%r{{yF>L{$I) literal 3677 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