From c03ba4fbb5909d795ba791f3ab01fc56ffd272c7 Mon Sep 17 00:00:00 2001 From: Teddy Xiong Date: Thu, 26 Mar 2026 02:20:59 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20add=20escape=20char?= =?UTF-8?q?=20mode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsyncOutput.py | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/AsyncOutput.py b/AsyncOutput.py index eff561c..8ff778e 100644 --- a/AsyncOutput.py +++ b/AsyncOutput.py @@ -188,7 +188,6 @@ class AsyncOutputCallbackNode: return float('nan') - class AsyncOutputConvertStringListToStringNode: def __init__(self): pass @@ -198,7 +197,8 @@ class AsyncOutputConvertStringListToStringNode: return { "required": { "input_string_list": ("LIST", { "forceInput": True }), - "join_word": ("STRING", { "default": "" }) + "join_word": ("STRING", { "default": "" }), + "is_escape_char": ("BOOLEAN", { "default": False, "tooltip": "if use ascii escape char, must enable" }) } } @@ -207,13 +207,40 @@ class AsyncOutputConvertStringListToStringNode: CATEGORY = f'{MAIN_CATEGORY}/Utils' FUNCTION = "convert_string_list_to_string" + DESCRIPTION = \ +""" +If use `\n` or others escape_char, must enable `is_escape_char`, or not, module will receive `\\n`, that not expected + +support list: +- `\n` +- `\t` +- `\r` +- `\'` +- `\"` +- `\\` +""" - def convert_string_list_to_string(self, input_string_list=[], join_word=""): + def convert_string_list_to_string(self, input_string_list=[], join_word="", is_escape_char=False): if isinstance(input_string_list, list) == False: raise Exception("ERROR: input_string_list not a list.") result = join_word + + if is_escape_char == True: + escape_map = { + "\\n": "\n", + "\\t": "\t", + "\\r": "\r", + "\\\"": "\"", + "\\\'": "\'", + "\\\\": "\\" + } + + for escaped, real in escape_map.items(): + result = result.replace(escaped, real) + + result = result.join(input_string_list) return (result, ) From 00de9dea848685a8fbb019ca8c686a6db369e37d Mon Sep 17 00:00:00 2001 From: Teddy Xiong Date: Thu, 26 Mar 2026 02:27:50 +0800 Subject: [PATCH 2/4] =?UTF-8?q?docs:=20=E2=9C=8F=EF=B8=8F=20update=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | Bin 48 -> 1048 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/README.md b/README.md index cde25e3f7e11757814ad51459f14015496cefb7b..b745ec4b6ee1bb5544d86f144694fc13855482d4 100644 GIT binary patch literal 1048 zcmaKrUuzRl5XH~4;CEQ+OWJDUvrPjhH|WwOOnZ zZgytw{5f-G?ysMZROq=@y4GAbdZ(9qqBCuf8kG!*j9U49;0_yEApr4M&Hodi0<%pjsgT7wgq0F(P|`HGKN>^S5f~3 z=wE~QoLcr@N1nIH?#WS=hC5U_`a=G7+}Yv|n#gWsmq=HfslI}`it`KvXJl--z0p|x z?Bj^dSSOm`eaiWuPdbSTb1Jl02EmhATI_tD;*qp5-)5&B>sW{AKO(w7^6x&JsZs;Z z?|A$l*MRyho*U5A!MSH)%aY^ix#nr$?^n(UMmoadJ@MPF&FIdkyl?wc z+~2TC(kwwOAvQxegWzIO@m+W ok+-Yg?-2f1;XBZQJ`!{A7t15K@>@(;Te6uqPs3lI^e!y@1`C#@H~;_u delta 5 McmbQiVKBh}00jL3kpKVy From b5747182d7bdd5adc7f83064b251c88d17da0a75 Mon Sep 17 00:00:00 2001 From: Teddy Xiong Date: Thu, 26 Mar 2026 02:49:40 +0800 Subject: [PATCH 3/4] =?UTF-8?q?docs:=20=E2=9C=8F=EF=B8=8F=20update=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | Bin 1048 -> 5480 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/README.md b/README.md index b745ec4b6ee1bb5544d86f144694fc13855482d4..ead7299020f1487ec40b58b5a7ca50e016d41373 100644 GIT binary patch literal 5480 zcmds*U2j`O5QgU(iT`kLCF-=)fm=u-wNWmLfL4TFAc9QdIEfS2369g$LjCK&`|Nnw zU4O}~ijYur;EF?5W-Aeq=p+VRtsMoAm!v z`^2~oZJ^aRHnhI>_Oy4H?t5C<*l`*)cA~q9o?d9~x{&gP#uLr@1^mf&SL#dlJipc*u<{Bb!J+{?%#~RiJmco z1*0S#&5m_U z@)KSf%+`FV6+YV0?`Sr9Y>#bA<3G~wMtA%z)6-8HNzZ$&Sg%)G=a04WR@w}c&xr*y zm%4}^XYMBb>ytx+ZF{5@KWqP8vgcBFCz6MpOU)4>kKSuN>B)~gd1Tv_9q)9G`z7Qq z_j)Jc?p9c7{}Y$k`7TK$dg#QjTXrYQh-)K%40J!#-HEJ2EAUoEu|(Kjk`bELehldzxv|elRiC>c&p>+}XnS*C+m&);l%g|{9A`yGN9m{MLTj)Qk<4pDb7BQ| zqH%56Gf5>jec3Te&-)s|(Ox<3H9t+(pXtt@bP^K6Q>!BGb%&}0@3gCP7j2l2b?u2- zYpigaOS>|^l=08lJ`(?z*>R+5fTUmwR${y7)%txA$?!pFLlt!<$hbY#%$wvpA`lVD z-mGVgWbWhU7Z=8@NTB1vriPMR`O~~TAYdrVst6wTxk?NPg&nwuGg*Q zXVmp;M<^ky##Q~>D{5L@saA2qrd5DQto90)x5g7SwkLE%=h#&qI=;R#dTP!rchGylx4s7Kz7?8bq}Gzvu`c@RgVYhg ziSt&6-#zws(gK;zTJ*~EaR_~#@s^=#vG4yln1ZwTE4>ohxL3m3y8B(kRw-$j1?w;t zd*gR1Ur`0A6N5Pndyk(x{a#`ODhZLub;7m(5KlW!h@IDAbfE6RcdJh8=ycFC5l@%V zN6H{|Mr~EejJDk*twx;3xKTe&N1m}rpPYN&@X@_$12q6twv&b(`O7ODx}t5a?~Q$~ zKewb)bpoHImA9!!pU<5|)Wzu^=8@PPzr2I@XWb@mC|+mIRoAI{U0rk&{?6nTC0i6; z4q1T Date: Thu, 26 Mar 2026 02:58:16 +0800 Subject: [PATCH 4/4] =?UTF-8?q?docs:=20=E2=9C=8F=EF=B8=8F=20update=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | Bin 5480 -> 7760 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/README.md b/README.md index ead7299020f1487ec40b58b5a7ca50e016d41373..ac72ea363e148d2c4ac7142968e0e91b7011b6ad 100644 GIT binary patch delta 1866 zcmbu9-%b-z5XR?Pu^qNSp7Q|jqv@Irt5QNg!4bZL7CKA*16-@R) zjBnx-=&g_8Z>D=-R|*N5ra6Ch=9`&szB#|2{CM&8)nZjb>B+Iwr6HaaIqkE%CFA!0 zAo}absdVKd-`aLtmqXc=6FG^#jopiWj!zZ>`&N#<7tG27Pk)NnWZmHxfDnMC`y2=j zkeV_l3(-_2yW1I}o<(;EFUc;BC`b4VbJ-smr6gr}D;rWHLQOW=uSnHm#Ze}X4MA&e zM}z5^2QG@wO+!AxMqs;r@yQE|fwOR{Z*|nE_Q-avxUvquUG<{c9BY*fDxw*!a>{f2 zg}+b5Va#|5K9XKF?t5h6Ngr17!wREpW@^dBcB?N3*qvHr%k+wvU@5;7&bKdlJ<*k9j)@l7^WcH?nNk|$-sMi8ARVn0 zB2_G&4qFo^Z469XkHtm@^bb{<3H3qe9o$_nrm|=Td9h+ z$w7JAl5NLk>;Ez5;kaWgwHf@}Xvsvs#Bq@;ka_ncR4 z!rn;XJ+f12Eff00Uel2(KT9Ajiz`L`C|z39B)>};Ifl0lQEk?_=+5Nbsact&_!2id K;NkbDi`hTw6)58X delta 11 Scmca$^FnKa(`GGBHBkT_>I4!1