initial commit by dev prasad

This commit is contained in:
Dev102030-pixel
2026-08-17 11:09:35 +05:30
commit 020c0132c9
24 changed files with 2558 additions and 0 deletions

54
replace.py Normal file
View File

@@ -0,0 +1,54 @@
import re
with open('src/main/java/com/example/whatsappautomation/service/ChatbotService.java', 'r') as f:
content = f.read()
# Pattern to match sendInteractiveList(...) up to the null);
# We need to capture bodyText (arg 1), ids (arg 4), titles (arg 5).
# Using a python script to parse the balanced parentheses might be better.
def replace_calls(text):
start = 0
while True:
idx = text.find('sendInteractiveList(', start)
if idx == -1:
break
# find the end of this statement
end_idx = text.find(');', idx)
if end_idx == -1:
break
call_str = text[idx:end_idx+2]
# We need to extract the parts. It's safer to just split by "new String[]{"
# because we know args 4 and 5 are array allocations.
parts = call_str.split('new String[]{')
if len(parts) == 3:
# parts[0] has 'sendInteractiveList(bodyText, buttonText, sectionTitle, \n'
# parts[1] has 'ids...}, \n'
# parts[2] has 'titles...}, null);'
# Extract bodyText from parts[0]
# sendInteractiveList(arg1, arg2, arg3,
# We want just arg1!
p0 = parts[0][len('sendInteractiveList('):].strip()
# It's tricky to parse commas.
pass
print("Doing regex...")
# Actually, let's just use a simple regex if they are formatted consistently.
# Almost all of them are:
# sendInteractiveList( BODY, BTN, TITLE,
# new String[]{IDS},
# new String[]{TITLES}, null);
pattern = r'sendInteractiveList\((.*?),\s*[^,]+,\s*[^,]+,\s*(new String\[\]\{.*?\})\s*,\s*(new String\[\]\{.*?\})\s*,\s*null\);'
replaced = re.sub(pattern, r'sendPaginatedButtons(state, \1, \2, \3);', content, flags=re.DOTALL)
with open('src/main/java/com/example/whatsappautomation/service/ChatbotService.java', 'w') as f:
f.write(replaced)
print("Done")