Spaces:
Sleeping
Sleeping
Commit Β·
d05bb9b
1
Parent(s): c6eeb7c
fix: routing flow for AUTO and Social Scout to correctly process tickers
Browse files
app.py
CHANGED
|
@@ -30,19 +30,18 @@ async def main(message: cl.Message):
|
|
| 30 |
await cl.Message(content="β No trending data.").send()
|
| 31 |
return
|
| 32 |
await cl.Message(content=f"π₯ **Hot List:** {', '.join(tickers)}").send()
|
| 33 |
-
return
|
| 34 |
|
| 35 |
# 2. HANDLE SOCIAL SCOUT
|
| 36 |
-
|
| 37 |
handle = user_input.replace("@", "")
|
| 38 |
await cl.Message(content=f"π΅οΈββοΈ Scouting **@{handle}**...").send()
|
| 39 |
tickers = await cl.make_async(fetch_tickers_from_social)(handle)
|
| 40 |
if not tickers:
|
| 41 |
await cl.Message(content="β No tickers found.").send()
|
| 42 |
-
|
| 43 |
|
| 44 |
# π¨ 3. BULLETPROOF CHAT ROUTING (If it has a space, it is a chat)
|
| 45 |
-
|
| 46 |
await cl.Message(content="π¬ **Consulting Senior Broker...**").send()
|
| 47 |
try:
|
| 48 |
config = {"configurable": {"thread_id": "ui_session"}}
|
|
@@ -55,13 +54,14 @@ async def main(message: cl.Message):
|
|
| 55 |
return
|
| 56 |
|
| 57 |
# 4. HANDLE SINGLE OR COMMA-SEPARATED TICKERS
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
tickers
|
|
|
|
| 65 |
|
| 66 |
for ticker in tickers:
|
| 67 |
await cl.Message(content=f"--- π **Processing:** {ticker} ---").send()
|
|
|
|
| 30 |
await cl.Message(content="β No trending data.").send()
|
| 31 |
return
|
| 32 |
await cl.Message(content=f"π₯ **Hot List:** {', '.join(tickers)}").send()
|
|
|
|
| 33 |
|
| 34 |
# 2. HANDLE SOCIAL SCOUT
|
| 35 |
+
elif user_input.startswith("@"):
|
| 36 |
handle = user_input.replace("@", "")
|
| 37 |
await cl.Message(content=f"π΅οΈββοΈ Scouting **@{handle}**...").send()
|
| 38 |
tickers = await cl.make_async(fetch_tickers_from_social)(handle)
|
| 39 |
if not tickers:
|
| 40 |
await cl.Message(content="β No tickers found.").send()
|
| 41 |
+
return
|
| 42 |
|
| 43 |
# π¨ 3. BULLETPROOF CHAT ROUTING (If it has a space, it is a chat)
|
| 44 |
+
elif " " in user_input:
|
| 45 |
await cl.Message(content="π¬ **Consulting Senior Broker...**").send()
|
| 46 |
try:
|
| 47 |
config = {"configurable": {"thread_id": "ui_session"}}
|
|
|
|
| 54 |
return
|
| 55 |
|
| 56 |
# 4. HANDLE SINGLE OR COMMA-SEPARATED TICKERS
|
| 57 |
+
else:
|
| 58 |
+
# Don't replace spaces natively, only commas if multiple tickers are passed
|
| 59 |
+
raw_list = user_input.upper().replace(",", " ").split()
|
| 60 |
+
tickers = [t for t in raw_list if len(t) <= 5 and t.isalpha()]
|
| 61 |
+
|
| 62 |
+
# If no valid tickers were found but it wasn't a chat message (no spaces), try the raw input
|
| 63 |
+
if not tickers and " " not in user_input:
|
| 64 |
+
tickers = [user_input.upper()]
|
| 65 |
|
| 66 |
for ticker in tickers:
|
| 67 |
await cl.Message(content=f"--- π **Processing:** {ticker} ---").send()
|