37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
|
|
import os
|
||
|
|
import re
|
||
|
|
|
||
|
|
def fix_text_input_default(filepath):
|
||
|
|
with open(filepath, 'r', encoding='utf-8') as f:
|
||
|
|
content = f.read()
|
||
|
|
|
||
|
|
# Match TextInput( followed by anything including newlines, until )
|
||
|
|
# This is a bit risky but we can refine it.
|
||
|
|
# We look for default= inside the arguments of TextInput
|
||
|
|
|
||
|
|
def replace_default(match):
|
||
|
|
args = match.group(2)
|
||
|
|
new_args = args.replace("default=", "value=")
|
||
|
|
return f"{match.group(1)}{new_args})"
|
||
|
|
|
||
|
|
# Regex: (disnake\.ui\.TextInput\(|ui\.TextInput\(|TextInput\() (.*? \))
|
||
|
|
# We need to handle nested parentheses if any, but TextInput usually doesn't have them in args.
|
||
|
|
|
||
|
|
new_content = re.sub(r'((?:disnake\.ui\.|ui\.|)TextInput\()(.*?\))', replace_default, content, flags=re.DOTALL)
|
||
|
|
|
||
|
|
if new_content != content:
|
||
|
|
with open(filepath, 'w', encoding='utf-8') as f:
|
||
|
|
f.write(new_content)
|
||
|
|
return True
|
||
|
|
return False
|
||
|
|
|
||
|
|
files_to_check = [
|
||
|
|
"commandes/moderation.py",
|
||
|
|
"commandes/ticket/__init__.py"
|
||
|
|
]
|
||
|
|
|
||
|
|
for path in files_to_check:
|
||
|
|
if os.path.exists(path):
|
||
|
|
if fix_text_input_default(path):
|
||
|
|
print(f"Fixed {path}")
|