This commit is contained in:
IGNY8 VPS (Salman)
2025-12-17 00:27:53 +00:00
parent 8f97666522
commit 69c0fd8b69
8 changed files with 262 additions and 174 deletions

View File

@@ -0,0 +1,103 @@
#!/usr/bin/env python
"""
Test ACTUAL content generation using existing task (same as frontend)
"""
import os, sys, django
sys.path.insert(0, '/app')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'igny8_core.settings')
django.setup()
from igny8_core.ai.functions.generate_content import execute as generate_content
from igny8_core.auth.models import Account
from igny8_core.business.content.models import Tasks, Content
import re
from html import unescape
print("=" * 80)
print("TESTING ACTUAL CONTENT GENERATION (same function as frontend)")
print("=" * 80)
print()
# Get account and task
account = Account.objects.filter(slug='aws-admin').first()
task_id = 229 # "Essential Garden Tools for Every Gardener"
task = Tasks.objects.get(id=task_id)
print(f"✅ Using task: {task.title}")
print()
# Delete any existing content for this task to start fresh
existing = Content.objects.filter(task=task)
if existing.exists():
count = existing.count()
existing.delete()
print(f"🗑️ Deleted {count} existing content items")
print()
print("=" * 80)
print("CALLING generate_content() - THE ACTUAL FUNCTION")
print("=" * 80)
print()
# Call the ACTUAL function
try:
result = generate_content(
payload={'ids': [task_id]},
account=account,
user=None
)
print()
print("=" * 80)
print("GENERATION RESULT")
print("=" * 80)
print()
if result.get('success'):
print(f"✅ Success: {result.get('message')}")
print(f" Items: {result.get('count', 0)}")
print()
# Get the generated content
content = Content.objects.filter(task=task).order_by('-created_at').first()
if content:
# Count actual words
html_content = content.content_html or ''
text_only = re.sub(r'<[^>]+>', '', html_content)
text_only = unescape(text_only)
words = len(text_only.split())
print(f"📝 Content Details:")
print(f" Title: {content.title}")
print(f" Word Count (actual): {words}")
print(f" Word Count (reported): {content.word_count}")
print()
if words < 1200:
print(f"🚨 CRITICAL ISSUE: Only {words} words!")
print(f" Target: 1200+ words")
print(f" Shortfall: {1200 - words} words")
else:
print(f"✅ EXCELLENT: {words} words (exceeds 1200)")
print()
print("=" * 80)
print("FIRST 800 CHARACTERS OF CONTENT:")
print("=" * 80)
print(text_only[:800])
print()
print(f"[...{len(text_only) - 800} more characters...]" if len(text_only) > 800 else "")
else:
print(f"❌ Failed: {result.get('error')}")
except Exception as e:
print(f"❌ Exception: {e}")
import traceback
traceback.print_exc()
print()
print("=" * 80)
print("This is the EXACT same generate_content() function called by frontend")
print("=" * 80)