def init_tags(): #Top tags #""" tag_ref = ChannelTag(term='Global', taxonomy='tag_country', path='/tag_geo') key_global = tag_ref.put() #Regions regions = ['Africa','Asia','Central America and Caribbean', 'Europe','Middle East and North Africa','North America', 'Oceania','Polar Regions','South America'] regions_keys = build_tags(regions, 'tag_geo', '/tag_geo') #""" """ query = Relation.gql('WHERE owner=:1', '/tag_geo') regions = query.fetch(9999) countries_tags = [] for region in regions: query = Relation.gql('WHERE relation=:1 and owner=:2', 'tags_hierarchical', region.target) countries_tags.extend(query.fetch(9999)) for country in countries_tags: country_ref = Relation(owner='/tag_geo/Global', relation='tags_hierarchical', target=country.target) country_ref.put() query = Relation.gql('WHERE owner=:1 and relation=:2', '/tag_geo/Global', 'tags_hierarchical') countries = query.fetch(9999) #""" util.set_metadata('DEFAULT_TAG', '/tag_geo/Global') util.set_metadata('ROOT_TAG', '/tag_geo') return regions #, countries
def build_tags(tags, taxonomy, path): keys = [] for tag in tags: #creating tag logging.info('Creating Tag %s' % (tag)) tag_ref = ChannelTag(term=tag, taxonomy=taxonomy, path=path) key = tag_ref.put() #creating relation if(path != key.name()): rel_ref = Relation(owner=path, relation='tags_hierarchical', target=key.name()) rel_ref = rel_ref.put() logging.info("Relation: %s -> %s" % (path, key.name())) keys.append(key) logging.info("India: %s" % key.name()) return keys