import os, sys, django, traceback
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
from apps.editor.models import Project
from apps.editor.services import suggest_thematic_sequences
from apps.core.views import get_workspace_settings

pk = int(sys.argv[1]) if len(sys.argv) > 1 else 8
p = Project.objects.get(pk=pk)
print('project', p.name, 'owner', p.owner)
s = get_workspace_settings(p.owner)
print('settings type', type(s).__name__)
t = p.transcripts.filter(is_active=True).first() or p.transcripts.first()
print('transcript', t, 'words', t.words.count() if t else 'None', 'segments', t.segments.count() if t else 'None')
try:
    seqs = suggest_thematic_sequences(p, s)
    print('seqs count', len(seqs))
    for i, sq in enumerate(seqs[:3]):
        print(i, sq.get('id'), sq.get('sequence_name'), sq.get('duration_ms'))
except Exception:
    traceback.print_exc()
