Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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')
Ejemplo n.º 4
0
 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()