1 from datetime
import datetime
3 from django
.core
.management
.base
import BaseCommand
5 from mygpo
import settings
6 from mygpo
.directory
.models
import Category
7 from mygpo
.data
.models
import DirectoryEntry
8 from mygpo
.utils
import progress
9 from mygpo
.migrate
import use_couchdb
12 class Command(BaseCommand
):
15 def handle(self
, *args
, **options
):
17 start_time
= datetime
.utcnow()
19 excluded_tags
= getattr(settings
, 'DIRECTORY_EXCLUDED_TAGS', [])
21 top_tags
= DirectoryEntry
.objects
.top_tags(None)
22 tag_count
= len(top_tags
)
25 label
= tag
.tag
.strip()
27 category
= Category
.for_tag(label
)
30 # delete if it has been excluded after it has been created
31 if label
in excluded_tags
:
35 if category
.updated
< start_time
:
36 category
.weight
= tag
.entries
38 category
.weight
+= tag
.entries
42 if label
in excluded_tags
:
48 category
.label
= label
49 category
.spellings
= []
50 category
.weight
= tag
.entries
53 category
.updated
= start_time
57 progress(n
, tag_count
)