3320ce60181f067e4e58db99fc4173b36ee8b64a
[wolnelektury.git] / apps / djangosphinx / management / commands / generate_sphinx_config.py
1 from django.core.management.base import AppCommand
2 from django.db import models
3
4 from djangosphinx.manager import SphinxModelManager
5
6 class Command(AppCommand):
7     help = "Prints generic configuration for any models which use a standard SphinxSearch manager."
8
9     output_transaction = True
10
11     def handle_app(self, app, **options):
12         from djangosphinx.utils.config import generate_config_for_model
13         model_classes = [getattr(app, n) for n in dir(app) if hasattr(getattr(app, n), '_meta')]
14         found = 0
15         for model in model_classes:
16             indexes = getattr(model, '__sphinx_indexes__', [])
17             for index in indexes:
18                 found += 1
19                 print generate_config_for_model(model, index)
20         if found == 0:
21             print "Unable to find any models in application which use standard SphinxSearch configuration."
22         #return u'\n'.join(sql_create(app, self.style)).encode('utf-8')