def get_active_media(self, key, sport, type): logger.info('NdbMediaDao:: DBHIT: get_active_media for %s ' % type) media_query = Media.query(Media.entity_id == key, Media.entity_type == type, Media.status == True) media = media_query.fetch() if media is None or len(media) == 0: default_pic_url = get_default_media(type, sport) default_pic = Media() default_pic.url = default_pic_url media.append(default_pic) return media
def get_primary_media(self, entities, type): logger.info('NdbMediaDao:: DBHIT: get_primary_media for %s' % type) media_map = dict() entity_ids = map(lambda entity: entity.key, entities) if entity_ids is not None and len(entity_ids) > 0: #Assigning a default pic to all the entities #Then they will be replaced with primary media, if they have. for entity in entities: media_map[entity.key] = get_default_media(type, entity.sport) logger.debug('entity ids before dedupe %s ' % len(entity_ids)) entity_ids = list( set(entity_ids) ) #Dedupe entity ids. Not doing this at entities level, as they are not hashable logger.debug('entity ids after dedupe %s ' % len(entity_ids)) media_query = Media.query(Media.entity_id.IN(entity_ids), Media.entity_type == type, Media.primary == True) media_list = media_query.fetch() for media in media_list: media_map[media.entity_id] = media.url return media_map
def get(self): user, logout = check_user(users.get_current_user()) if user: upload_url = blobstore.create_upload_url('/upload') template_args = {'logout_url': users.create_logout_url('/')} media_list = list() more = True curs = None while more: m, curs, more = Media.query( ).order( -Media.when).fetch_page( 10, start_cursor=curs) for mitem in m: media_list.append(mitem) template_args['media'] = media_list template_args['upload_url'] = upload_url template = JINJA_ENVIRONMENT.get_template('media.html') self.response.write(template.render(template_args)) else: self.redirect('/admin')
def get_all_media(self, key, type): logger.info('NdbMediaDao:: DBHIT: get_active_media for %s ' % type) media_query = Media.query(Media.entity_id == key, Media.entity_type == type) return media_query.fetch()