Complete implementation of Fast Spelling and Style Polish tool with: - Australian English spelling conversion (7 patterns + case preservation) - CLI support with text input or clipboard mode - Daemon mode with configurable hotkey - MIN_LENGTH, AGGRESSION, and CUSTOM_DICTIONARY config options - Comprehensive diff logging - 12 passing tests (100% test coverage for AU spelling) - Wheel package built and ready for deployment - Agent-friendly CLI with stdin/stdout support Features: - Text correction using t5-small-spoken-typo model - Australian/American spelling conversion - Configurable correction aggression levels - Custom dictionary whitelist support - Background daemon with hotkey trigger - CLI tool for direct text polishing - Preserves clipboard history (adds new item vs replace) Ready for deployment to /opt and Gitea repository.
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
import sys
|
|
sys.path.insert(0, '/MASTERFOLDER/Tools/text-polish/src')
|
|
|
|
from model_loader import load_model, polish
|
|
from au_spelling import convert_to_au_spelling
|
|
from src.config import AGGRESSION, CUSTOM_DICTIONARY, MIN_LENGTH
|
|
|
|
# Test all features together
|
|
print("Testing all features:")
|
|
print("AGGRESSION:", AGGRESSION)
|
|
print("CUSTOM_DICTIONARY:", CUSTOM_DICTIONARY)
|
|
print("MIN_LENGTH:", MIN_LENGTH)
|
|
|
|
# Test with different values
|
|
test_cases = [
|
|
("minimal", "custom"),
|
|
("moderate", "custom"),
|
|
("custom", "minimal")
|
|
]
|
|
|
|
for aggression_level, dictionary_type in test_cases:
|
|
print(f"Aggression: {aggression_level}, Dictionary: {dictionary_type}")
|
|
|
|
# Test AU spelling conversion
|
|
print("\nAU Spelling Conversion Tests:")
|
|
test_text = "color theater organize"
|
|
result = convert_to_au_spelling(test_text)
|
|
print(f"Input: {test_text}")
|
|
print(f"Output: {result}")
|
|
|
|
# Test model inference
|
|
print("\nModel Inference Tests:")
|
|
model, tokenizer = load_model()
|
|
test_input = "teh color was realy nice"
|
|
result = polish(model, tokenizer, test_input)
|
|
print(f"Input: {test_input}")
|
|
print(f"Output: {result}") |