69 lines
1.9 KiB
Python
69 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Initialize default word lists for Clean-Tracks.
|
|
"""
|
|
|
|
import sys
|
|
import logging
|
|
from pathlib import Path
|
|
|
|
# Add parent directory to path
|
|
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
|
|
from src.core import WordListManager
|
|
from src.database import init_database
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
|
)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def main():
|
|
"""Initialize default word lists."""
|
|
logger.info("Initializing Clean-Tracks database and word lists...")
|
|
|
|
# Initialize database
|
|
init_database()
|
|
|
|
# Create word list manager
|
|
manager = WordListManager()
|
|
|
|
# Initialize default lists
|
|
created_lists = manager.initialize_default_lists()
|
|
|
|
logger.info(f"Created {len(created_lists)} default word lists:")
|
|
for name, list_id in created_lists.items():
|
|
stats = manager.get_word_statistics(list_id)
|
|
logger.info(f" - {name} (ID: {list_id}): {stats['total_words']} words")
|
|
|
|
# Set default list
|
|
if 'English - General' in created_lists:
|
|
manager.set_default_word_list(created_lists['English - General'])
|
|
logger.info(f"Set 'English - General' as default word list")
|
|
|
|
logger.info("Word list initialization complete!")
|
|
|
|
# Display summary
|
|
all_lists = manager.get_all_word_lists()
|
|
|
|
print("\n" + "="*60)
|
|
print("WORD LISTS SUMMARY")
|
|
print("="*60)
|
|
|
|
for word_list in all_lists:
|
|
default_marker = " [DEFAULT]" if word_list['is_default'] else ""
|
|
print(f"\n{word_list['name']}{default_marker}")
|
|
print(f" ID: {word_list['id']}")
|
|
print(f" Description: {word_list['description']}")
|
|
print(f" Language: {word_list['language']}")
|
|
print(f" Word Count: {word_list['word_count']}")
|
|
print(f" Active: {word_list['is_active']}")
|
|
|
|
print("\n" + "="*60)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |