def create_tags(): Tag.objects.all().delete() for pk, fields in tags.iteritems(): tname = remove_accents(hashtagify(fields['name'])) print "TAG", tname if Tag.objects.filter(tag__iexact=tname).count() == 0: t = Tag() t.tag = tname t.title = fields['name'].strip() t.description = fields['description'] t.client_domain = datea t.save()
def create_campaigns(): Campaign.objects.all().delete() for pk, fields in mapeos.iteritems(): if pk in skip_mapeos: continue #get extra data #adata = json.load(urllib2.urlopen('http://datea.pe/api/v1/mapping/'+str(pk)+'/?format=json')) c = Campaign(pk=pk) c.user_id = get_user(fields['user']['id']) c.name = fields['name'] c.published = fields['published'] c.featured = fields['featured'] c.short_description = fields['short_description'] c.mission = fields['mission'] c.information_destiny = fields['information_destiny'] c.long_description = fields['long_description'] c.client_domain = datea if fields['center']: c.center = GEOSGeometry(fields['center']) if fields['boundary']: c.boundary = GEOSGeometry(fields['boundary']) if fields['end_date']: c.end_date = date_parser(fields['end_date']) if fields['image']: c.image_id = fields['image']['id'] c.category_id = fields['category']['id'] # main hashtag if fields['hashtag']: tname = remove_accents(hashtagify(fields['hashtag'].replace('#', ''))) else: tname = remove_accents(hashtagify(fields['name'].replace('#', ''))) if Campaign.objects.filter(slug=slugify(tname)).count() == 0: c.slug = slugify(tname) else: c.slug = slugify(fields['slug']) print "CAMPAIGN TAG NAME", tname existing = Tag.objects.filter(tag__iexact=tname) if existing.count() == 0: t = Tag() t.tag = tname t.title = fields['name'].strip() #t.description = fields['short_description'] t.save() c.main_tag_id = t.pk else: c.main_tag_id = existing[0].pk c.save() # secondary tags (m2m after save) for ipk in fields['item_categories']: tag = find_tag(ipk) c.secondary_tags.add(tag) created = date_parser(fields['created']) modified = date_parser(fields['modified']) Campaign.objects.filter(pk=c.pk).update(created=created, modified=modified)