From a168e225c7d40e2e6f8dbb5ba49b3e151c06f018 Mon Sep 17 00:00:00 2001 From: sn0w12 Date: Mon, 29 Jan 2024 03:25:11 +0100 Subject: [PATCH] Added prompt_combine --- __init__.py | 7 +++-- __pycache__/__init__.cpython-311.pyc | Bin 899 -> 1002 bytes __pycache__/character_select.cpython-311.pyc | Bin 2887 -> 3218 bytes __pycache__/prompt_combine.cpython-311.pyc | Bin 0 -> 1505 bytes character_select.py | 8 ++--- prompt_combine.py | 31 +++++++++++++++++++ 6 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 __pycache__/prompt_combine.cpython-311.pyc create mode 100644 prompt_combine.py diff --git a/__init__.py b/__init__.py index 02d0e28..df4d2f4 100644 --- a/__init__.py +++ b/__init__.py @@ -3,7 +3,8 @@ from .split_string import SplitStringNode from .lora_selector import LoraSelectorNode from .lora_tester_xl import LoraTestXLNode from .lora_tester import LoraTestNode -from.character_select import CharacterSelectNode +from .character_select import CharacterSelectNode +from .prompt_combine import CombineStringNode NODE_CLASS_MAPPINGS = { "Find SDXL Resolution": FindResolutionNode, @@ -11,7 +12,8 @@ NODE_CLASS_MAPPINGS = { "Lora Selector": LoraSelectorNode, "Lora Tester XL": LoraTestXLNode, "Lora Tester": LoraTestNode, - "Character Selector": CharacterSelectNode + "Character Selector": CharacterSelectNode, + "Prompt Combine": CombineStringNode } NODE_DISPLAY_NAME_MAPPINGS = { @@ -21,4 +23,5 @@ NODE_DISPLAY_NAME_MAPPINGS = { "Lora Tester XL": "Lora Tester XL", "Lora Tester": "Lora Tester", "Character Selector": "Character Selector", + "Prompt Combine": "Prompt Combine", } diff --git a/__pycache__/__init__.cpython-311.pyc b/__pycache__/__init__.cpython-311.pyc index 41a9a52a1e36a250e050e378a54ef726283d4435..11cff4eb1c26e57ee3e6f3177fae265afd11054d 100644 GIT binary patch delta 346 zcmZo>f5oo8oR^o20SI)sx2IlUW?*;>;=lk0l<~P~qPnkD3PTEe4o@y`6fYw~Dq|{h zDr+ixDrYKpDsKwM9QG)_6wVZ`6z&wB6y6lR6n?N6e~LgbgQnobc{O5;w*;N@bCWXj zQiDs1GV{{?@>5bZ*(XagrU?Dw3n?%?-4@hzCUQf(Skk!4D+- zGzBJaV5|}3D*)??Plgy<#5q}mX#$rFPz56p7hjxwh$*Gi@B#x0y1}4(0Tq2DcmVMDZF42-W0xI22K8n>uMO;COa^u7#48?ji?e1F38C&Q7A4c%FIhw z$jmFrS1>68SzE*nB6vUqFOcxl2tM-w;*3A*OOeSpJ5T?gw6Wai$LpK;i;}@COkFS>qcbnm0sMZiuPf5LUP$r3X|X Q2T~vhR3HUGMdCm^0HfkS@&Et; diff --git a/__pycache__/character_select.cpython-311.pyc b/__pycache__/character_select.cpython-311.pyc index ad467dd8e819d0d0866a288bb5e597704e5e2577..44756286282190bfbd5e790e34b4f9bf7cfdb01e 100644 GIT binary patch delta 1090 zcmaJ=O-vI(6rS1L?oVsWLg^opbR&N)mdXK)Q4bWTKrBDDL?afEbQf9$tkXtgQvwGi znrMv9O(pT92QDU>=+PUAiOI&)q*)Jg^l)anw+88nl~Drh>BMatq_HmQl#TpC?jOlPs3*?=Pc#C-D>TY@hDuW6{y! zv2o3b@AFO^WH}c@NEKsAK$ErYq;Q121sOcXy6_j)+0DrC83n*PStVOCWsMz`EpL*k zKkMCKiN)`stCoER36HFjEpa%`9a-l3!DMoY&+{_vsgyt-Uf$J56M0Hz%5iI+Mh?_6r)5QRZiN2Ll-!K@A498qj8d z&j3FGO)y4eI+axxG6H#*Du!%EOOQaWy{|G^F=bv!;5&RHE0IFx5nktC2^K+yIv|LX zf_K@~rUTkB42w+xwWFud6jG&d$=}{k&zvs|OsL*T)m`?@y|xZ&Y*<$%Ofb80eOn7XQZ`?IRM?3@3mTvWXY)m?Vo0mPv02BPcsbrirK zgk$h9wwSwM5cin7&e~1nN)Xth0b6_Xf=(HUc2MtIi4^T82-LK#3>Iq~D}y>yZ*u8i oFCfwQpT>Cw=V{+yDRo delta 788 zcmZvaOK1~87=Y*BXEv{Jp6>?L-vjNFT$e}{XNsr#P)>BT-BwMA_pP6s}*UbDg|89rdLHApi%Z{jg z5kBcH>ACxxWB@`h5J||P_pk!CSKKC)km~+$pCb@aIqag@U2kP$4X;&dI$o{Tuzv4m zZG&WmHt<9ee=V3IA9kCFffqe?6N!rbz)RPCo(#UY-reZVJJ`e}wF!x+OjMOR@BTHUPacdIsP$1TBbmN7xGl_oy~Ke?dqmb6ApbjMogqjivw(J<1wUJ~}ReCxG;L6N`*F(*U+fer2{r@mQvg@szk+nwM0nD=Jhym|9m zEEYvTe@6ds=4FKb=1NGQ2Xv7H)bboxtdmiHMj*Daj5EoQJa)i=ecS zgG_-SQ*Q)$+??#mUxbv9e`U ziDL_4C~yozf^qQ(pasbhkw`=?3I*{4Bqi`ue+3SkX$Hg8dEF>dhcGpp%d8ozOe0Pq z-ze1?+7Z7dk(3967z$-s^nw@Pp*J`Qw?><<93{b!Hd+F?D9bM;s)q zM}34N(F<4`j!V^mF?A!e{&XY9CN9&p`o&|i3rDiKQ%DL3!A1TBLJN6^EQ;wjxCxh0Y)1KBIXjff5JnSi;pBMh$*Hd;NcqC$l2<@=P zuP%-}ZP>TK8%s1O@6(jTuu~!Kn_~SHQ}eYNC`|soTCAiZP!Xq8pb>DR{7KR=4&xkR z08Hx_&Sm(rlF*@-CLWUviRwJ$I>1hHv=fGJApu_Qj{r^7OMHCzto_63jn1{j1Fe^s zI>6`Cvp!NH4+1z?Igd~MviH;8;dVEkI*X@#B*h-|^c$`C+jv{;>UYlcJDuP^4~@q& z-Q>Nle*a9r-wA%`xXDCId#fGdu72xGztxG~?%><>8l+&Pq6}MBC0}+di$yJ~TqTVX zm&YyZbt7N8oEfuAdDksF^;cCwCn1oHXVSUNjL~oZfo42@n$9x3vS}>k*4E)+FFnqs zSJyMogWAvuhz$1a*NZnE<-j|}%>Xn9Ur*6}F`__w1H6-vI=TOC-!P4?-)w%Z4KUZ^t(=;C%!;4rlQmf89UyBRU_Z@(=`H5(L2)=LA@G6y9;$ KKmRci?DsDfvvO|$ literal 0 HcmV?d00001 diff --git a/character_select.py b/character_select.py index 505b9f0..63f7382 100644 --- a/character_select.py +++ b/character_select.py @@ -40,13 +40,13 @@ class CharacterSelectNode: if char_item['name'] == character: if character_strength == 1: if(character_pronpt): - return (char_item['associated_string'], char_item['prompt'], ) + return (f"{char_item['associated_string']}, ", char_item['prompt'], ) else: - return (char_item['associated_string'], ) + return (f"{char_item['associated_string']}, ", "", ) else: if(character_pronpt): - return (f"({char_item['associated_string']}:{character_strength})", char_item['prompt'], ) + return (f"({char_item['associated_string']}:{character_strength}), ", char_item['prompt'], ) else: - return (f"({char_item['associated_string']}:{character_strength})", ) + return (f"({char_item['associated_string']}:{character_strength}), ", "", ) return (None,) # Return a tuple if character not found diff --git a/prompt_combine.py b/prompt_combine.py new file mode 100644 index 0000000..7a5af68 --- /dev/null +++ b/prompt_combine.py @@ -0,0 +1,31 @@ +class CombineStringNode: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "string_a": ("STRING", {"default": ""}), + "string_b": ("STRING", {"default": ""}), + "string_c": ("STRING", {"default": ""}), + "string_d": ("STRING", {"default": ""}), + "separator": ("STRING", {"default": ", "}), + }, + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("PROMPT",) + FUNCTION = "combine_string" + CATEGORY = "sn0w" + + def combine_string(self, string_a, string_b, string_c, string_d, separator): + strings = [string_a, string_b, string_c, string_d] + combined = [] + + for string in strings: + if string: # Skip empty strings + # Add the string to the combined list, appending separator if needed + if not string.endswith(separator): + string += separator + combined.append(string) + + # Join all parts and return as a tuple + return (''.join(combined),)